<rss version="2.0">
  <channel>
    <title>Ruby on Rails &#20013;&#25991; Wiki</title>
    <link>http://wiki.rubyonrailscn.org/rails/show/HomePage</link>
    <description>An Instiki wiki</description>
    <language>en-us</language>
    <ttl>40</ttl>
    <item>
      <title>Anonymous Coward</title>
      <description>&lt;p&gt;funny man&lt;/p&gt;</description>
      <pubDate>Sat, 06 Mar 2010 06:18:22 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/AnonymousCoward</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/AnonymousCoward</link>
    </item>
    <item>
      <title>Rails2_0&#26032;&#29305;&#24615;_&#26032;&#30340;Rails&#25968;&#25454;&#24211;&#25509;&#21475;</title>
      <description>&lt;p&gt;&#22914;&#26524;&#24744;&#30340; Edge Rails &#31243;&#24207;&#19981;&#25903;&#25345; &lt;span class="newWikiWord"&gt;My SQL&lt;a href="http://wiki.rubyonrailscn.org/rails/new/MySQL"&gt;?&lt;/a&gt;&lt;/span&gt;, &lt;span class="newWikiWord"&gt;Postgre SQL&lt;a href="http://wiki.rubyonrailscn.org/rails/new/PostgreSQL"&gt;?&lt;/a&gt;&lt;/span&gt; &#25110; SQLite &#20197;&#22806;&#30340;&#20219;&#20309;&#25968;&#25454;&#24211;&#65292;&#37027;&#20040;&#24744;&#23558;&#38656;&#35201;&#30830;&#20445;&#22312;&#26412;&#26426;&#19978;&#23433;&#35013;&#20102;&#27491;&#30830;&#30340;gem&#12290;&#27491;&#22914;&#29616;&#22312;&#65292;Rails &#26680;&#24515;&#24320;&#21457;&#20154;&#21592;&#22312;&#36817;&#26399;&#21046;&#20316;&#20102;&#19968;&#31995;&#21015;&#26032;&#30340; Rails &#25968;&#25454;&#24211;&#25509;&#21475;&#65292;&#24182;&#20197;gem&#21457;&#24067;&#12290;&#36825;&#19968;&#31995;&#21015;&#20013;&#30340;&#20219;&#20309;&#19968;&#20010;&#37117;&#24212;&#24403;&#35299;&#20915;&#24744;&#19968;&#30452;&#20197;&#26469;&#30340;&#25968;&#25454;&#24211;&#25509;&#21475;&#38382;&#39064;&#65306;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;gem install activerecord-oracle-adapter&lt;/li&gt;
		&lt;li&gt;gem install activerecord-sqlserver-adapter&lt;/li&gt;
		&lt;li&gt;gem install activerecord-firebird-adapter&lt;/li&gt;
		&lt;li&gt;gem install activerecord-frontbase-adapter&lt;/li&gt;
		&lt;li&gt;gem install activerecord-openbase-adapter&lt;/li&gt;
		&lt;li&gt;gem install activerecord-sybase-adapter&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&#24863;&#35874; &lt;a href="http://yudionrails.com/2007/12/17/rails-2-0-final-released-summary-of-features"&gt;Yudi&lt;/a&gt; &#25552;&#20379;&#26412;&#31995;&#21015;&#25991;&#26723;&lt;/p&gt;


	&lt;p&gt;&#21407;&#25991;&#20316;&#32773;&#26159; Ryan Daigle, &#35831;&#35775;&#38382;&lt;a href="http://ryandaigle.com"&gt;&#20182;&#30340;&#21338;&#23458;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;0&lt;/p&gt;</description>
      <pubDate>Thu, 07 Jan 2010 03:43:57 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/Rails2_0%E6%96%B0%E7%89%B9%E6%80%A7_%E6%96%B0%E7%9A%84Rails%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8E%A5%E5%8F%A3</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/Rails2_0%E6%96%B0%E7%89%B9%E6%80%A7_%E6%96%B0%E7%9A%84Rails%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8E%A5%E5%8F%A3</link>
    </item>
    <item>
      <title>&#22312;Rails&#31243;&#24207;&#20013;&#25972;&#21512;php BB&#35770;&#22363;</title>
      <description>&lt;p&gt;&#8600;&#21325;&#25163;&#26426;&#31363;&#21548;&#22120;&#24590;&#20040;&#20080;&#8600;&#21325;&#25163;&#26426;&#65306;15980268262&lt;/p&gt;</description>
      <pubDate>Sat, 02 Jan 2010 12:23:44 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/%E5%9C%A8Rails%E7%A8%8B%E5%BA%8F%E4%B8%AD%E6%95%B4%E5%90%88phpBB%E8%AE%BA%E5%9D%9B</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/%E5%9C%A8Rails%E7%A8%8B%E5%BA%8F%E4%B8%AD%E6%95%B4%E5%90%88phpBB%E8%AE%BA%E5%9D%9B</link>
    </item>
    <item>
      <title>&#230;&#8226;&#8482;&#231;&#168;&#8249;</title>
      <description></description>
      <pubDate>Tue, 15 Dec 2009 07:19:16 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/%C3%A6%C2%95%C2%99%C3%A7%C2%A8%C2%8B</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/%C3%A6%C2%95%C2%99%C3%A7%C2%A8%C2%8B</link>
    </item>
    <item>
      <title>Ruby Gems</title>
      <description></description>
      <pubDate>Wed, 30 Sep 2009 16:54:44 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/RubyGems</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/RubyGems</link>
    </item>
    <item>
      <title>Protect Rails Apps Svn Folder</title>
      <description>&lt;h1&gt;&#20445;&#25252;Rails&#24212;&#29992;&#30340;svn&#30446;&#24405;&lt;/h1&gt;


	&lt;p&gt;&#21407;&#25991;: &lt;a href="http://blog.ashchan.com/archive/2008/03/29/protect-rails-apps-svn-folder/"&gt;http://blog.ashchan.com/archive/2008/03/29/protect-rails-apps-svn-folder/&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Rails&#24320;&#21457;&#32773;&#21916;&#27426;&#29992;Capistrano&#26469;&#33258;&#21160;&#21270;&#37096;&#32626;&#32593;&#31449;&#24212;&#29992;&#65288;&#20160;&#20040;&#65292;&#20320;&#19981;&#29992;&#65311;&#65289;&#65292;&#21363;&#20351;&#19981;&#20351;&#29992;&#33258;&#21160;&#21270;&#37096;&#32626;&#65292;&#24456;&#22810;&#20154;&#20063;&#20250;&#20351;&#29992;svn co&#30452;&#25509;&#23558;&#20195;&#30721;&#21462;&#21040;&#32593;&#31449;&#24212;&#29992;&#30446;&#24405;&#12290;&#36825;&#32473;&#32593;&#31449;&#20449;&#24687;&#27844;&#28431;&#25552;&#20379;&#20102;&#26041;&#20415;&#12290;&#20351;&#29992;&#19979;&#38754;&#30340;&#22320;&#22336;&#65292;&#23601;&#33021;&#35775;&#38382;&#21040;&#36825;&#26679;&#30340;&#32593;&#31449;&#30340;svn&#20449;&#24687;&#65306;&lt;/p&gt;


&lt;pre&gt;
@http://somesite.com/.svn/entries@
@http://somesite.com/.svn/javascripts/entries@
&lt;/pre&gt;

	&lt;p&gt;&#36825;&#21487;&#19981;&#22823;&#22937;&#65292;&#22240;&#20026;&#36825;&#20010;&#25991;&#20214;&#37324;&#21253;&#21547;&#20102;&#20320;&#30340;svn&#24211;&#30340;&#22320;&#22336;&#12289;&#29992;&#25143;&#21517;&#21644;&#24403;&#21069;&#30446;&#24405;&#20869;&#23481;&#31561;&#24456;&#22810;&#20449;&#24687;&#12290;&#26368;&#22909;&#36890;&#36807;&#26381;&#21153;&#22120;&#37197;&#32622;&#26469;&#31105;&#27490;&#23545;.svn&#30446;&#24405;&#30340;&#35775;&#38382;&#12290;&#22312;nginx&#19979;&#65292;&#21487;&#20197;&#22312;server&#37197;&#32622;&#19979;&#21152;&#20837;&#36825;&#19968;&#26465;&#65306;&lt;/p&gt;


&lt;pre&gt;
location ~ /\.svn {
    deny    all;
}
&lt;/pre&gt;

	&lt;p&gt;&#21478;&#19968;&#31181;&#26041;&#24335;&#26159;&#22312;config/deploy.rb&#20013;&#21152;&#20837;&#20197;&#19979;&#35774;&#32622;&#65292;&#20351;&#29992;svn export&#26469;&#23548;&#20986;&#20195;&#30721;&#65306;&lt;br /&gt;&lt;pre&gt;
set :deploy_via, :export
&lt;/pre&gt;&lt;br /&gt;&#19981;&#36807;&#24456;&#22810;&#26102;&#20505;&#20026;&#20102;&#25163;&#24037;&#32500;&#25252;&#31449;&#28857;&#30340;&#38656;&#35201;&#65292;&#25105;&#26356;&#20542;&#21521;&#20110;&#29992;svn co(svn checkout)&#12290;&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2009 00:57:54 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/ProtectRailsAppsSvnFolder</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/ProtectRailsAppsSvnFolder</link>
    </item>
    <item>
      <title>&#23433;&#35013;&#22312;Windows Vista</title>
      <description>&lt;p&gt;&#27809;&#20154;&#20889;&amp;#8230;.&#37057;&#38391;&amp;#8230;www.fandouai.com&#22823;&#23478;&#26377;&#31354;&#26469;&#36825;&#37324;&#29609;&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2009 13:01:56 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85%E5%9C%A8Windows+Vista</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85%E5%9C%A8Windows+Vista</link>
    </item>
    <item>
      <title>Home Page</title>
      <description>&lt;h2&gt;Rails &#20837;&#38376;&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85+Rails"&gt;&#23433;&#35013; Rails&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E6%95%99%E7%A8%8B"&gt;&#25945;&#31243;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E4%B9%A6%E7%B1%8D"&gt;&#20070;&#31821;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%92%8C%E5%9B%9E%E7%AD%94"&gt;&#24120;&#35265;&#38382;&#39064;&#21644;&#22238;&#31572;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;del&gt;&#21021;&#23398;&#32773;&#20043;&#21451;&lt;/del&gt; (&#24050;&#34987;&#21512;&#24182;&#21040; &lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E6%95%99%E7%A8%8B"&gt;&#25945;&#31243;&lt;/a&gt; &#26465;&#30446;)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h2&gt;&#35752;&#35770;&#20027;&#39064;&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/Rails2_0%E5%8F%8A%E6%9B%B4%E9%AB%98%E7%89%88%E6%9C%AC%E7%9A%84%E7%9B%B8%E5%85%B3%E6%9D%A1%E7%9B%AE"&gt;Rails2_0&#21450;&#26356;&#39640;&#29256;&#26412;&#30340;&#30456;&#20851;&#26465;&#30446;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%BC%80%E5%8F%91"&gt;&#24320;&#21457;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E6%95%B0%E6%8D%AE%E5%BA%93"&gt;&#25968;&#25454;&#24211;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E8%A7%84%E6%A8%A1%E6%89%A9%E5%BC%A0"&gt;&#35268;&#27169;&#25193;&#24352;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E8%B0%83%E8%AF%95%E4%B8%8E%E6%B5%8B%E8%AF%95"&gt;&#35843;&#35797;&#19982;&#27979;&#35797;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E5%85%A8%E6%80%A7"&gt;&#23433;&#20840;&#24615;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E9%83%A8%E7%BD%B2"&gt;&#37096;&#32626;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E6%8A%80%E5%B7%A7%E5%92%8C%E6%8F%90%E7%A4%BA"&gt;&#25216;&#24039;&#21644;&#25552;&#31034;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h2&gt;&#36164;&#28304;&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://api.rubyonrails.com/"&gt;Rails &lt;span class="caps"&gt;API &lt;/span&gt;&#25991;&#26723;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/Rails+%E6%8F%92%E4%BB%B6"&gt;Rails &#25554;&#20214;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7"&gt;&#24320;&#21457;&#24037;&#20855;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h2&gt;&#31038;&#21306;&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://groups.google.com/group/rubyonrailscn"&gt;&#37038;&#20214;&#21015;&#34920;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E8%AE%BA%E5%9D%9B"&gt;&#35770;&#22363;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h2&gt;Wiki&#30340;&#32500;&#25252;&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="JoinUs"&gt;Wiki&#30340;&#25104;&#38271;&#38656;&#35201;&#20320;&#30340;&#24110;&#21161;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&#27426;&#36814;&#21152;&#20837;&#32676;54369517&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/Rails%E8%8B%B1%E8%AF%ADwiki%E7%BF%BB%E8%AF%91%E8%AE%A1%E5%88%92%E8%A1%A8"&gt;Rails&#33521;&#35821;wiki&#32763;&#35793;&#35745;&#21010;&#34920;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Tue, 30 Jun 2009 02:43:40 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/HomePage</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/HomePage</link>
    </item>
    <item>
      <title>Mongrel Apache Production</title>
      <description>&lt;h1&gt;&#25645;&#24314;&#37319;&#29992; mongrel+apache &#30340;&#29983;&#20135;&#29615;&#22659;&lt;/h1&gt;


	&lt;p&gt;&#21407;&#25991;&#65306;&lt;a href="http://airport.javaeye.com/blog/34121"&gt;http://airport.javaeye.com/blog/34121&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&#27604;&#36739;&#20102;&#19968;&#20123;ROR&#30340;&#29983;&#20135;&#29615;&#22659;&#65292;&#32463;&#36807;&#27979;&#35797;&#65292;&#36824;&#26159;&#36873;&#29992;&#20102;mongrel+apache&#30340;&#26041;&#24335;&#12290;&lt;/p&gt;


	&lt;p&gt;1.download&#23433;&#35013;&#21253;:&lt;br /&gt;httpd-2.2.3.tar.gz ,apache&#26381;&#21153;&#22120;&lt;br /&gt;ruby-1.8.5.tar.gz&lt;br /&gt;rubygems-0.9.0.tgz&lt;br /&gt;mongrel-0.3.13.4.gem&lt;/p&gt;


	&lt;p&gt;2.&#23433;&#35013;ruby&lt;br /&gt;&lt;pre&gt;
tar zxvf ruby-1.8.5.tar.gz
./configure
make
make install
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;3.&#23433;&#35013;rubygems&lt;br /&gt;&lt;pre&gt;
tar zxfv rubygems-0.9.0.tgz
cd rubygems-0.9.0
ruby setup.rb
# gem update - system
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;4.&#23433;&#35013;rails&lt;br /&gt;&lt;pre&gt;
gem install rails --include-dependencies
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;5.&#23433;&#35013;mongrel&lt;br /&gt;&lt;pre&gt;
#gem install daemons
#gem install gem_plugin &#22914;&#26524;&#25552;&#31034;&#38656;&#35201;&#21017;&#23433;&#35013;
gem install mongrel
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;6.&#23433;&#35013;apache&lt;br /&gt;&lt;pre&gt;
tar zxvf httpd-2.2.3.tar.gz
./configure --prefix=/usr/local/apache
make
make install
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;7.&#21551;&#21160;mongrel&lt;br /&gt;&lt;pre&gt;
cd myrailsapp
#&#21551;&#21160;
mongrel_rails start -d -p 8000 -e production -P ./log/mongrel-1.pid
#&#20572;&#27490;
mongrel_rails stop -P ./log/mongrel-1.pid
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;8.&#32534;&#36753;httpd.conf&lt;br /&gt;&lt;pre&gt;
 &amp;lt;VirtualHost *:80&amp;gt;
    ServerName myapp.com
    ServerAlias www.myapp.com

    ProxyPass / http://www.myapp.com:8000/
    ProxyPassReverse / http://www.myapp.com:8000
    ProxyPreserveHost on

    ProxyPass /images ! 
    ProxyPass /stylesheets ! 
    Alias /images /path/to/public/images
    Alias /stylesheets /path/to/public/stylesheets 
    #continue with aliases for static content

  &amp;lt;/VirtualHost&amp;gt;
&lt;/pre&gt;&lt;br /&gt;&#27809;&#26377;&#20102;&#21527;?&lt;/p&gt;</description>
      <pubDate>Sun, 24 May 2009 02:19:31 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/MongrelApacheProduction</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/MongrelApacheProduction</link>
    </item>
    <item>
      <title>Ajax Upload By Using Attachment_fu</title>
      <description>&lt;h1&gt;&#20351;&#29992;&#25554;&#20214;attachment_fu&#22312;Rails&#20013;&#20197;AJAX&#26041;&#24335;&#19978;&#20256;&#25991;&#20214;&lt;/h1&gt;


	&lt;p&gt;&#21407;&#25991;&#65306;&lt;a href="http://weskycn.javaeye.com/blog/123777"&gt;http://weskycn.javaeye.com/blog/123777&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&#36825;&#31687;&#25991;&#31456;&#20027;&#35201;&#35299;&#20915;&#30340;&#38382;&#39064;&#26159;&#29992;attachment&#25554;&#20214;&#21644;responds_to_parent&#25554;&#20214;&#23454;&#29616;ajax&#26041;&#24335;&#19978;&#20256;&#25991;&#20214;&#65288;&#22270;&#29255;&#65289;&#30340;&#30446;&#30340;&#12290;&lt;/p&gt;


	&lt;h2&gt;Step 1. Choose a file upload plugin&#65288;&#36873;&#25321;&#19978;&#20256;&#25554;&#20214;&#65289;&lt;/h2&gt;


	&lt;p&gt;&#21487;&#29992;&#30340;&#19978;&#20256;&#25554;&#20214;&#26377;&#22914;&#19979;&#19977;&#31181;&#65306; &lt;br /&gt;1.file_column &lt;br /&gt;2.acts_as_attachment &lt;br /&gt;3.attachment_fu&lt;/p&gt;


	&lt;p&gt;&#25512;&#33616;attachment fu&#65291;rails1.2.&lt;/p&gt;


	&lt;h2&gt;Step 2. &#36873;&#25321;&#23433;&#35013;Rmagic&lt;/h2&gt;


&lt;pre&gt; 
gem install rmagic  
&lt;/pre&gt;

	&lt;h2&gt;Step 3. &#26032;&#24314;&#39033;&#30446;&#24182;&#19979;&#36733;&#25554;&#20214;attachment_fu&lt;/h2&gt;


	&lt;p&gt;&#26032;&#24314;&#39033;&#30446;demo &lt;br /&gt;&lt;code&gt;rails demo&lt;/code&gt;&lt;/p&gt;


	&lt;p&gt;&#23433;&#35013;&#25554;&#20214;attachment_fu: &lt;br /&gt;&lt;pre&gt;
cd demo 
ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/attachment_fu/
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;Step 4. &#24320;&#22987;&#32534;&#20889;&#20195;&#30721; &lt;br /&gt;&#29992;&#19979;&#38754;&#21629;&#20196;&#21019;&#24314;&#19968;&#20010;rails&#36164;&#28304;asset &lt;br /&gt;&lt;pre&gt;
ruby script/generate scaffold_resource asset filename:string content_type:string size:integer width:integer height:integer parent_id:integer thumbnail:string created_at:datetime
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;&#19979;&#38754;&#26159;&#33258;&#21160;&#29983;&#25104;&#30340;migration&#65292;&#21487;&#33258;&#34892;&#20462;&#25913;&#65292;&#22312;&#27492;&#25105;&#20204;&#20351;&#29992;&#40664;&#35748;&#12290; &lt;br /&gt;&lt;pre&gt; 
class CreateAssets &amp;lt; ActiveRecord::Migration   
  def self.up   
    create_table :assets do |t|   
      t.column :filename, :string   
      t.column :content_type, :string   
      t.column :size, :integer   
      t.column :width, :integer   
      t.column :height, :integer   
      t.column :parent_id, :integer   
      t.column :thumbnail, :string   
      t.column :created_at, :datetime   
    end   
  end   

  def self.down   
    drop_table :assets   
  end   
end   
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;&#22312;&#27169;&#22411;&#20013;&#65292;&#25105;&#20204;&#21152;&#20837;&#20197;&#19979;&#20195;&#30721;&#65306; &lt;br /&gt;&lt;pre&gt; 
class Asset &amp;lt; ActiveRecord::Base   
  has_attachment  :storage =&amp;gt; :file_system,    
                  :max_size =&amp;gt; 1.megabytes,   
            :thumbnails =&amp;gt; { :thumb =&amp;gt; '80x80&amp;gt;', :tiny =&amp;gt; '40x40&amp;gt;' },   
                                    :processor =&amp;gt; :Rmagick    
end  
&lt;/pre&gt;&lt;/p&gt;


	&lt;h2&gt;Step 5. &lt;span class="caps"&gt;AJAX&lt;/span&gt; it &lt;br /&gt;&#25226;Javascript prototype/scriptaculous &#21152;&#20837;layout. &lt;br /&gt;&lt;pre&gt; 
&amp;lt;%= javascript_include_tag "prototype", "effects", "application" %&amp;gt;  
&lt;/pre&gt;&lt;br /&gt;&#23433;&#35013;&#25554;&#20214;responds_to_parent &lt;br /&gt;&lt;pre&gt; 
ruby script/plugin install http://sean.treadway.info/svn/plugins/responds_to_parent/  
&lt;/pre&gt;&lt;br /&gt;&#20462;&#25913;index.rhtml: &lt;br /&gt;&lt;pre&gt; 
&amp;lt;% form_for(:asset, :url =&amp;gt; formatted_assets_path(:js),    
            :html =&amp;gt; { :multipart =&amp;gt; true,    
            :target =&amp;gt; 'upload_frame'}) do |form| %&amp;gt;   
&amp;lt;%= render(:partial =&amp;gt; '/assets/form', : object =&amp;gt; form) %&amp;gt;   
&amp;lt;% end %&amp;gt;   
&amp;lt;iframe id='upload_frame' name="upload_frame" style="width:1px;height:1px;border:0px" src="about:blank"&amp;gt;&amp;lt;/iframe&amp;gt;   
&amp;lt;ul id="assets"&amp;gt;   
&amp;lt;% @assets.each do |a|%&amp;gt;   
&amp;lt;%= render(:partial =&amp;gt; '/assets/list_item', : object =&amp;gt; a)%&amp;gt;   
&amp;lt;% end %&amp;gt;   
&amp;lt;/ul&amp;gt;  
&lt;/pre&gt;&lt;/h2&gt;


	&lt;p&gt;&#26032;&#24314;&#19968;&#20010;&#23616;&#37096;&#27169;&#29256;&#25991;&#20214;_form.rhtml: &lt;br /&gt;&lt;pre&gt; 
&amp;lt;p&amp;gt;   
    &amp;lt;label for="uploaded_data"&amp;gt;Upload a file:&amp;lt;/label&amp;gt;   
    &amp;lt;%= form.file_field :uploaded_data %&amp;gt;   
  &amp;lt;/p&amp;gt;   
  &amp;lt;p&amp;gt;   
    &amp;lt;%= submit_tag "Create" %&amp;gt;   
&amp;lt;/p&amp;gt;  
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;&#26032;&#24314;&#19968;&#20010;&#23616;&#37096;&#27169;&#29256;&#25991;&#20214;_list_item.rhtml: &lt;br /&gt;&lt;pre&gt; 
&amp;lt;li id="asset_&amp;lt;%= list_item.id %&amp;gt;"&amp;gt;   
&amp;lt;%= link_to(image_tag(list_item.public_filename(:thumb))) %&amp;gt;&amp;lt;br /&amp;gt;   
&amp;lt;/li&amp;gt;  
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;&#20462;&#25913;assets_controller.rb&#20013;&#30340;create&#26041;&#27861;&#22914;&#19979;&#65306; &lt;br /&gt;&lt;pre&gt; 
def create   
@asset = Asset.new(params[:asset])   
respond_to do |format|   
  if @asset.save   
    flash[:notice] = 'Asset was successfully created.'   
    format.html { redirect_to asset_url(@asset) }   
    format.xml  { head :created, :location =&amp;gt; asset_url(@asset) }   
    format.js do   
      responds_to_parent do   
        render :update do |page|   
          page.insert_html :bottom, "assets", :partial =&amp;gt; '/assets/list_item', : object =&amp;gt; @asset   
          page.visual_effect :highlight, "asset_#{@asset.id}"    
        end   
      end             
    end   
  else   
    format.html { render :action =&amp;gt; "new" }   
    format.xml  { render :xml =&amp;gt; @asset.errors.to_xml }   
    format.js do   
      responds_to_parent do   
        render :update do |page|   
            # update the page with an error message   
        end   
      end             
    end   
  end   
end   
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;&#26368;&#21518;&#21035;&#24536;&#20102;&#65292;&#20462;&#25913;config&#25991;&#20214;&#22841;&#20013;&#30340;database.yml&#25991;&#20214;&#65292;&#21019;&#24314;&#30456;&#24212;&#30340;&#25968;&#25454;&#24211;&#65292;&#24182;&#25191;&#34892;&#21629;&#20196;&#65306; &lt;br /&gt;&lt;pre&gt; 
rake db:migrate   
ruby script/server  
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;&#28982;&#21518;&#21040;&#27983;&#35272;&#22120;&#37324;&#38754;&#26597;&#30475;&#25928;&#26524;&#21543;&#65281;&lt;/p&gt;


	&lt;p&gt;&#27880;&#65306;&#26412;&#25991;&#32763;&#35793;&#33258;http://khamsouk.souvanlasy.com/&#12290;&#26356;&#35814;&#32454;&#30340;&#20171;&#32461;&#35831;&#35775;&#38382;&#21407;&#25991;&#12290;&#21478;&#22806;&#26412;&#31687;&#25152;&#20171;&#32461;&#30340;&#20869;&#23481;&#32463;&#36807;&#27979;&#35797;&#27809;&#26377;&#38382;&#39064;&#12290;&#27426;&#36814;&#35752;&#35770;&#20132;&#27969;&lt;/p&gt;</description>
      <pubDate>Fri, 17 Apr 2009 07:33:00 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/AjaxUploadByUsingAttachment_fu</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/AjaxUploadByUsingAttachment_fu</link>
    </item>
    <item>
      <title>Cache_fu</title>
      <description>&lt;p&gt;javaeye&lt;/p&gt;</description>
      <pubDate>Tue, 17 Mar 2009 01:25:24 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/Cache_fu</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/Cache_fu</link>
    </item>
    <item>
      <title>Rails2_0&#26032;&#29305;&#24615;_&#20026;&#24744;&#25512;&#20171;validates_numericality_of</title>
      <description>&lt;p&gt;&#36825;&#21608;&#26411; validates_numericality_of &#26377;&lt;/p&gt;</description>
      <pubDate>Sun, 08 Mar 2009 04:48:32 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/Rails2_0%E6%96%B0%E7%89%B9%E6%80%A7_%E4%B8%BA%E6%82%A8%E6%8E%A8%E4%BB%8Bvalidates_numericality_of</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/Rails2_0%E6%96%B0%E7%89%B9%E6%80%A7_%E4%B8%BA%E6%82%A8%E6%8E%A8%E4%BB%8Bvalidates_numericality_of</link>
    </item>
    <item>
      <title>&#229;&#174;&#8240;&#232;&#163;&#8230; Rails</title>
      <description></description>
      <pubDate>Mon, 23 Feb 2009 14:59:07 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/%C3%A5%C2%AE%C2%89%C3%A8%C2%A3%C2%85+Rails</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/%C3%A5%C2%AE%C2%89%C3%A8%C2%A3%C2%85+Rails</link>
    </item>
    <item>
      <title>&#23433;&#35013; Rails</title>
      <description>&lt;h2&gt;&#19968;&#33324;&#38382;&#39064;&lt;/h2&gt;


	&lt;h2&gt;&#25805;&#20316;&#31995;&#32479;&#30456;&#20851;&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85%E5%9C%A8Windows"&gt;&#23433;&#35013;&#22312;Windows&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85%E5%9C%A8Windows+Cygwin"&gt;&#23433;&#35013;&#22312;Windows Cygwin&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85%E5%9C%A8Windows+Vista"&gt;&#23433;&#35013;&#22312;Windows Vista&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85%E5%9C%A8OSX"&gt;&#23433;&#35013;&#22312;OSX&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;h2&gt;&#27169;&#22359;&#30456;&#20851;&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&#24320;&#21457;&#29615;&#22659;&#19979;&#30340;&#25968;&#25454;&#24211; &lt;a class="existingWikiWord" href="http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8Sqlite"&gt;&#23433;&#35013;&#20351;&#29992;Sqlite&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Mon, 16 Feb 2009 08:39:39 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85+Rails</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/%E5%AE%89%E8%A3%85+Rails</link>
    </item>
    <item>
      <title>Understanding Migrations</title>
      <description>&lt;p&gt;asd&lt;/p&gt;</description>
      <pubDate>Sun, 18 Jan 2009 03:45:33 Z</pubDate>
      <guid>http://wiki.rubyonrailscn.org/rails/show/UnderstandingMigrations</guid>
      <link>http://wiki.rubyonrailscn.org/rails/show/UnderstandingMigrations</link>
    </item>
  </channel>
</rss>
