<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>前后求索 &#187; ROR</title>
	<atom:link href="http://dwfeng.net/blog/category/ror/feed" rel="self" type="application/rss+xml" />
	<link>http://dwfeng.net/blog</link>
	<description>self.生活{&#124;x&#124; 快乐 &#38;&#38; 幸福}</description>
	<lastBuildDate>Tue, 16 Jun 2009 15:56:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>[Git]代码在git add之后如何取消</title>
		<link>http://dwfeng.net/blog/2008/10/27/how-to-cancel-them-after-git-add.html</link>
		<comments>http://dwfeng.net/blog/2008/10/27/how-to-cancel-them-after-git-add.html#comments</comments>
		<pubDate>Mon, 27 Oct 2008 09:44:32 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[ROR]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[RubyonRails]]></category>

		<guid isPermaLink="false">http://dwfeng.net/blog/?p=166</guid>
		<description><![CDATA[Git是RubyonRails正在使用的版本控制系统，方便快捷，上手容易，但是由于主要使用命令行，如果想熟练使用还是要花些功夫。我在使用的过程中就遇到不少麻烦。 比如在使用git add命令把修改的文件添加之后，又不想把它们提交到版本库中，该如何取消它们呢？我花了好长时间才找到答案。 如果想取消使用git add命令添加的文件的话，需要下面的命令： git rm --cached git rm命令是把建立的版本库索引（index）和那个文件一起删除了。加上cached之后，就只删除索引，不删除文件本身。 与git add相应的取消操作并不是git rm，而是git rm &#8211;cached。这是需要非常注意的地方。]]></description>
			<content:encoded><![CDATA[<p>Git是<a title="git" href="http://dwfeng.net/blog/2008/04/23/best-practices-for-contributing-to-rails-with-git/">RubyonRails正在使用的版本控制系统</a>，方便快捷，上手容易，但是由于主要使用命令行，如果想熟练使用还是要花些功夫。我在使用的过程中就遇到不少麻烦。</p>
<p>比如在使用git add命令把修改的文件添加之后，又不想把它们提交到版本库中，该如何取消它们呢？我花了好长时间才找到答案。</p>
<p>如果想取消使用git add命令添加的文件的话，需要下面的命令：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">git rm --cached</li></ol></div>
<p>git rm命令是把建立的版本库索引（index）和那个文件一起删除了。加上cached之后，就只删除索引，不删除文件本身。<br />
与git add相应的取消操作并不是git rm，而是git rm &#8211;cached。这是需要非常注意的地方。</p>
]]></content:encoded>
			<wfw:commentRss>http://dwfeng.net/blog/2008/10/27/how-to-cancel-them-after-git-add.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>如何修改Mac Terminal的提示文字和用户名</title>
		<link>http://dwfeng.net/blog/2008/09/29/how-to-change-the-prompt-of-terminal-in-mac.html</link>
		<comments>http://dwfeng.net/blog/2008/09/29/how-to-change-the-prompt-of-terminal-in-mac.html#comments</comments>
		<pubDate>Mon, 29 Sep 2008 05:39:15 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[ROR]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[日志]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://dwfeng.net/blog/?p=119</guid>
		<description><![CDATA[默认的Mac命令行里的提示信息（prompt）是这样的： 计算机名:当前目录 用户名$ 或者 MacBook:~/当前目录 用户名$ 如果你觉得这个方式不好，或者想别出心裁和别人不一样，是可以修改它的。 方法如下： 用你喜欢的编辑器打开，你的用户根目录下的.bashrc或者.bash_profile文件。没有的话就新建一个。 vi .bash_profile 然后输入 PS1=&#34;你想要的格式&#34; 在双引号之间可以使用的命令有： \d &#8211; 现在的系统日期 \t &#8211; 现在的系统时间 \h &#8211; 主机名 \# &#8211; 命令号（Comannd Number） \u &#8211; 用户名 \W &#8211; 当前所在的路径 (比如: Document/) \w &#8211; 当前所在的路径，全路径 (比如: /Users/David/Document) 我的格式是这样的： export PS1=&#34;\u@\h \w:&#34; 效果如下图： 其中的显示的用户名是短用户名（short name），并不是你在系统属性里设置的用户名。 这个就是正常的用户名。 那么短用户名如何设置呢。这个选项藏的比较深，不太好找。 系统属性的帐户里，在你的用户名上点右键（mac系统里是右键是很少用到的，这里特殊。） 然后选择“高级选项&#8230;”然后就会出现下面那样的菜单： 修改那个“短名称”就可以了。 最后，提醒一点，修改之前以防万一，最好备份一下系统。]]></description>
			<content:encoded><![CDATA[<p>默认的Mac命令行里的提示信息（prompt）是这样的：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">计算机名:当前目录 用户名$ 或者 </span><span style="color: Blue;">MacBook</span><span style="color: Gray;">:~</span><span style="color: #8b0000;">/</span><span style="color: Red;">当前目录 用户名$</span></div></div>
<p>如果你觉得这个方式不好，或者想别出心裁和别人不一样，是可以修改它的。</p>
<p>方法如下：</p>
<p>用你喜欢的编辑器打开，你的用户根目录下的.bashrc或者.bash_profile文件。没有的话就新建一个。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">vi</span><span style="color: Gray;"> .</span><span style="color: Blue;">bash_profile</span></div></div>
<p>然后输入</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">PS1</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">你想要的格式</span><span style="color: #8b0000;">&quot;</span></div></div>
<p>在双引号之间可以使用的命令有：</p>
<ul>
<li>\d &#8211; 现在的系统日期</li>
<li>\t &#8211; 现在的系统时间</li>
<li>\h &#8211; 主机名</li>
<li>\# &#8211; 命令号（Comannd Number）</li>
<li>\u &#8211; 用户名</li>
<li>\W &#8211; 当前所在的路径 (比如: Document/)</li>
<li>\w &#8211; 当前所在的路径，全路径 (比如: /Users/David/Document)</li>
</ul>
<p>我的格式是这样的：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">export</span><span style="color: Gray;"> </span><span style="color: Blue;">PS1</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">\u@\h \w:</span><span style="color: #8b0000;">&quot;</span></div></div>
<p>效果如下图：<br />
<a href="http://dwfeng.net/blog/wp-content/uploads/2008/09/terminalprompt.png" rel="shadowbox[post-119];player=img;"><img class="alignnone size-medium wp-image-125" title="terminalprompt" src="http://dwfeng.net/blog/wp-content/uploads/2008/09/terminalprompt.png" alt="" width="264" height="102" /></a></p>
<div style="clear: both">其中的显示的用户名是短用户名（short name），并不是你在系统属性里设置的用户名。</div>
<p><a href="http://dwfeng.net/blog/wp-content/uploads/2008/09/fullusername.png" rel="shadowbox[post-119];player=img;"><img class="alignnone size-medium wp-image-126" title="fullusername" src="http://dwfeng.net/blog/wp-content/uploads/2008/09/fullusername.png" alt="" width="231" height="145" /></a></p>
<div style="clear: both">这个就是正常的用户名。<br />
那么短用户名如何设置呢。这个选项藏的比较深，不太好找。<br />
系统属性的帐户里，在你的用户名上点右键（mac系统里是右键是很少用到的，这里特殊。） 然后选择“高级选项&#8230;”然后就会出现下面那样的菜单：</div>
<p><a href="http://dwfeng.net/blog/wp-content/uploads/2008/09/shortname.png" rel="shadowbox[post-119];player=img;"><img class="alignnone size-full wp-image-127" title="shortname" src="http://dwfeng.net/blog/wp-content/uploads/2008/09/shortname.png" alt="" width="500" height="228" /></a></p>
<div style="clear: both">修改那个“短名称”就可以了。<br />
最后，提醒一点，修改之前以防万一，最好备份一下系统。</div>
]]></content:encoded>
			<wfw:commentRss>http://dwfeng.net/blog/2008/09/29/how-to-change-the-prompt-of-terminal-in-mac.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Web Development with Rails第三版(beta)发布</title>
		<link>http://dwfeng.net/blog/2008/04/24/agile-web-development-with-rails-third-edition.html</link>
		<comments>http://dwfeng.net/blog/2008/04/24/agile-web-development-with-rails-third-edition.html#comments</comments>
		<pubDate>Thu, 24 Apr 2008 14:41:13 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[ROR]]></category>
		<category><![CDATA[RubyonRails]]></category>

		<guid isPermaLink="false">http://dwfeng.net/blog/?p=51</guid>
		<description><![CDATA[记得自己去年做Rails项目的时候，Rubyonrails的版本还是1.1.8。不到一年的时间RubyonRails已经更新和好几次。如此快速的更新说明这个项目有旺盛的生命力，但也给使用他的人带来很多困惑。比如我自己，当然希望永远都做Rails的项目。但在这个”对于IT技术人员，技术没那么重要”的世界里，不得不向现实低头。于是我离开了Rails半年多的时间。 等我回来的时候发现这个世界（Rails世界）已经不是我熟悉的了。原来的推荐用法，系统结构完全不一样了。REST变成了核心，Mysql也不是默认推荐数据库，核心代码的版本控制系统改成了Git。    当我拿起Rails想做一些东西的时候，发现自己仿佛又变成了一个新手。在Java世界里从来没有这种感觉。但这并没有打消我对Rails的喜爱。总想找一写比较详尽的介绍RubyonRails的资料，好好补补。但一直没找到太系统的，最近自己在纳闷为什么『Agile Web Development with Rails』这么好的书不更新了呢？ 也是作者们听到了我的心声（不可能的事儿），今天无意间发现『Agile Web Development with Rails』第三版的Beta版本已经可以购买了。好事儿啊！ 顺便说一句，pragprog改版以后的风格我很喜欢！]]></description>
			<content:encoded><![CDATA[<div style="float: right;"><img class="alignright" src="http://www.pragprog.com/images/covers/190x228/betas/rails3.jpg?1208810865" alt="" /></div>
<div>记得自己去年做Rails项目的时候，Rubyonrails的版本还是1.1.8。不到一年的时间RubyonRails已经更新和好几次。如此快速的更新说明这个项目有旺盛的生命力，但也给使用他的人带来很多困惑。比如我自己，当然希望永远都做Rails的项目。但在这个”对于IT技术人员，技术没那么重要”的世界里，不得不向现实低头。于是我离开了Rails半年多的时间。 等我回来的时候发现这个世界（Rails世界）已经不是我熟悉的了。原来的推荐用法，系统结构完全不一样了。REST变成了核心，Mysql也不是默认推荐数据库，核心代码的版本控制系统改成了Git。   </p>
<p>当我拿起Rails想做一些东西的时候，发现自己仿佛又变成了一个新手。在Java世界里从来没有这种感觉。但这并没有打消我对Rails的喜爱。总想找一写比较详尽的介绍RubyonRails的资料，好好补补。但一直没找到太系统的，最近自己在纳闷为什么『Agile Web Development with Rails』这么好的书不更新了呢？</p>
</div>
<p>也是作者们听到了我的心声（不可能的事儿），今天无意间发现<a href="http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition">『Agile Web Development with Rails』第三版的Beta版本</a>已经可以购买了。好事儿啊！</p>
<p>顺便说一句，<a href="http://www.pragprog.com/">pragprog</a>改版以后的风格我很喜欢！</p>
]]></content:encoded>
			<wfw:commentRss>http://dwfeng.net/blog/2008/04/24/agile-web-development-with-rails-third-edition.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何用Git为Rubyonrails提交修改</title>
		<link>http://dwfeng.net/blog/2008/04/23/best-practices-for-contributing-to-rails-with-git.html</link>
		<comments>http://dwfeng.net/blog/2008/04/23/best-practices-for-contributing-to-rails-with-git.html#comments</comments>
		<pubDate>Wed, 23 Apr 2008 08:32:08 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[ROR]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[RubyonRails]]></category>

		<guid isPermaLink="false">http://dwfeng.net/blog/?p=50</guid>
		<description><![CDATA[最近，Git非常的&#8221;火&#8221;，很大原因是Rubyonrails改用Git作为版本控制系统了。关于是什么Git及如何使用在这里我就不介绍了。总之理解了它的理念以后，使用上甚至比SVN简单。 下面是我翻译的一篇文章，关于为用GitRubyonrails做贡献的最佳实践。现在，因为自己业余时间里正用Rails写一些东西，期间似乎发现了一个Rails不大不小的Bug，想试着自己改改，然后提交上去。苦于不知道具体如何为开源项目提交代码，因此找到这篇文章翻译过来, 留作参考! &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Ruby on Rails现在使用Git了。这对于像我这样的Git迷来说是好消息。对于那些稍微晚一些参加进来为Rails做贡献的核心贡献者们，我特意为你们写了一个简单的技巧列表。虽然这不能替代使用Git为Rails做贡献的完全教程，但也许是个小小的补充。 首先，你应该设置一个真实的名字和email，默认情况下，Git基于你的登录信息和主机名（这几乎可以确定是个错误）选择一个由GECOS data产生的默认用户名和email（这倒是完全正确的）。这里，最佳实践要求你使用真实的名字和email，而不是你的登录信息或IRC，或者其他你拥有其他别名什么的。这些字段将永久的保存在版本历史记录里面，所以要确定你写的正确。 $ git config --global user.name &#34;Tim Pope&#34; $ git config --global user.email &#34;foo@gmail.com&#34; 设置的同时，有可能你也想为命令加上颜色： $ git config --global color.diff auto $ git config --global color.status auto $ git config --global color.branch auto $ git config --global color.interactive auto 虽然Git允许你提交任何注释。但是，坚持用最佳实践去写log会让事情变得更简单。下面是一个提交Model的注释： 尽量简短的描述你的修改（50个字符或更少） 如果有必要，越具体的描述越好。每一行大约72个字符左右。在许多情况下，第一行作为email的标题，余下的部分是正文。尽量不要在总结里加入空行（除非是省略整个正文的情况）。像rebase这样的工具可能造成混乱，如果你运行它两次。 - 更多的段落要跟在一些空行以后，或者用提示符（bullet point）。 - 一般情况下用短横线或星号，后面跟一个空格。段落之间用几个空行，或者其他的方式。 [...]]]></description>
			<content:encoded><![CDATA[<p>最近，Git非常的&#8221;火&#8221;，很大原因是Rubyonrails改用Git作为版本控制系统了。关于是什么<a href="http://www.google.co.jp/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fgit.or.cz%2F&amp;ei=CtgOSJz2Ho-OswLqudSZCQ&amp;usg=AFQjCNE5UQ8oxFWP3YFEK2aEgHqL_-LVJQ&amp;sig2=LlCEY9PthHEg17marvCy9Q">Git</a>及如何使用在这里我就不介绍了。总之理解了它的理念以后，使用上甚至比SVN简单。</p>
<p>下面是我翻译的一篇文章，关于为用GitRubyonrails做贡献的最佳实践。现在，因为自己业余时间里正用Rails写一些东西，期间似乎发现了一个Rails不大不小的Bug，想试着自己改改，然后提交上去。苦于不知道具体如何为开源项目提交代码，因此找到这篇文章翻译过来, 留作参考!</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Ruby on Rails现在使用Git了。这对于像我这样的Git迷来说是好消息。对于那些稍微晚一些参加进来为Rails做贡献的核心贡献者们，我特意为你们写了一个简单的技巧列表。虽然这不能替代<a href="http://www.kernel.org/pub/software/scm/git/docs/tutorial.html">使用Git为Rails做贡献的完全教程</a>，但也许是个小小的补充。</p>
<p>首先，你应该设置一个真实的名字和email，默认情况下，Git基于你的登录信息和主机名（这几乎可以确定是个错误）选择一个由GECOS data产生的默认用户名和email（这倒是完全正确的）。这里，最佳实践要求你使用真实的名字和email，而不是你的登录信息或IRC，或者其他你拥有其他别名什么的。这些字段将永久的保存在版本历史记录里面，所以要确定你写的正确。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">$ git config --global user.name &quot;Tim Pope&quot;</li>
<li>$ git config --global user.email &quot;foo@gmail.com&quot;</li></ol></div>
<p>设置的同时，有可能你也想为命令加上颜色：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">$ git config --global color.diff auto</li>
<li>$ git config --global color.status auto</li>
<li>$ git config --global color.branch auto</li>
<li>$ git config --global color.interactive auto</li></ol></div>
<p>虽然Git允许你提交任何注释。但是，坚持用最佳实践去写log会让事情变得更简单。下面是一个提交Model的注释：</p>
<p><strong> 尽量简短的描述你的修改（50个字符或更少）</strong></p>
<p><strong> 如果有必要，越具体的描述越好。每一行大约72个字符左右。在许多情况下，第一行作为email的标题，余下的部分是正文。尽量不要在总结里加入空行（除非是省略整个正文的情况）。像rebase这样的工具可能造成混乱，如果你运行它两次。<br />
</strong></p>
<p><strong>- 更多的段落要跟在一些空行以后，或者用提示符（bullet point）。</strong><br />
<strong>- 一般情况下用短横线或星号，后面跟一个空格。段落之间用几个空行，或者其他的方式。</strong><br />
<strong>- 要使用缩进。</strong></p>
<p>当提交到Rails核心代码库的时候，你可能还需要进一步充实上面所说的过程。那么，可以提供一个URL显示你的修改在哪里可以被找到。或者用下面的命令产生一个文件。这个文件可以被用来重新显示你本地的修改历史。想查看你的修改的人只需使用<strong>git am</strong>命令就可以得到它。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">$ git checkout my_funky_branch</li>
<li>$ git rebase origin/master</li>
<li>$ git format-patch --stdout origin/master.. &amp;gt; my_funky_patches</li></ol></div>
<p>这有一个关于如何保持最新状态的提示：下载最新的更新的时候，使用git pull命令去加上&#8211;rebase参数，即git pull &#8211;rebase，而不用合并提交（merge commit）去弄乱历史信息。这样能让你的修改显示在最新的更改记录里（latest upstream）。但有一点要注意，如果你已经在另外一个版本库里提交了修改，就不要使用这个方法了。因为这样做的话，会使那些已经下载完原来的那些更新的人（的代码）产生问题。</p>
<p>原文： <a href="http://www.tpope.net/rails-git-best-practices">Best Practices for Contributing to Rails with Git</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dwfeng.net/blog/2008/04/23/best-practices-for-contributing-to-rails-with-git.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>在Cygwin里使用Rails2.x生成项目时的一个Bug</title>
		<link>http://dwfeng.net/blog/2008/04/17/no-such-file-or-directory-devurandom.html</link>
		<comments>http://dwfeng.net/blog/2008/04/17/no-such-file-or-directory-devurandom.html#comments</comments>
		<pubDate>Thu, 17 Apr 2008 01:31:47 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[ROR]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[RubyonRails]]></category>

		<guid isPermaLink="false">http://dwfeng.net/blog/?p=49</guid>
		<description><![CDATA[平时除了在家里自己的Macbook上使用Textmate开发Rubyonrails程序之外，基本上都在用Windows写Rubyonrails程序。在Windows上写Rails代码真的不是什么愉快的事儿。虽然有NetBeans这样的IDE，但它中文和日文支持的还不是那么尽善尽美。所以，我一直都用Cygwin + GVim即Rails插件来写Rails。虽然在Cygwin里Ruby速度慢一点儿，但习惯GVim以后，基本不用碰鼠标的感觉真的是不错。 可是刚才遇到了一个小问题。就是在Cygwin里不能生成Rails项目了。如果执行Rails myproject来生成项目，就会出现下面的错误： $ rails myproject No such file or directory - /dev/urandom 这个问题很奇怪，/dev/urandom是Unix的一个系统级别的随机数生成器，Cygwin里有没有就清楚了。为了尽快解决问题，Google了一下。解决方法倒是很简单，不过真的很出人意料。 只需在/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/secret_key_generator.rb文件的第86行加上一句话： puts "Before Read" 就可以了。这也太奇怪了。于是继续查原因。在Rails Trac里有人提交了Bug，但结论大概是说这不是Rubyorails和Cygwin的问题，而是Ruby1.8.6的Bug。]]></description>
			<content:encoded><![CDATA[<p>平时除了在家里自己的Macbook上使用Textmate开发Rubyonrails程序之外，基本上都在用Windows写Rubyonrails程序。在Windows上写Rails代码真的不是什么愉快的事儿。虽然有NetBeans这样的IDE，但它中文和日文支持的还不是那么尽善尽美。所以，我一直都用Cygwin + GVim即Rails插件来写Rails。虽然在Cygwin里Ruby速度慢一点儿，但习惯GVim以后，基本不用碰鼠标的感觉真的是不错。</p>
<p>可是刚才遇到了一个小问题。就是在Cygwin里不能生成Rails项目了。如果执行Rails myproject来生成项目，就会出现下面的错误：</p>
<p><code style="font-size: 12px; font-family: Courier New; background-color: gray;"><br />
$ rails myproject<br />
No such file or directory - /dev/urandom<br />
</code></p>
<p>这个问题很奇怪，/dev/urandom是Unix的一个系统级别的随机数生成器，Cygwin里有没有就清楚了。为了尽快解决问题，Google了一下。解决方法倒是很简单，不过真的很出人意料。</p>
<p>只需在/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/secret_key_generator.rb文件的第86行加上一句话：<br />
<code style="font-size: 12px; font-family: Courier New; background-color: gray;"><br />
puts "Bef<span class="highlight">or</span>e Read"<br />
</code></p>
<p>就可以了。这也太奇怪了。于是继续查原因。<a href="http://dev.rubyonrails.org/ticket/10544">在Rails Trac里有人提交了Bug</a>，但结论大概是说这不是Rubyorails和Cygwin的问题，而是Ruby1.8.6的Bug。</p>
]]></content:encoded>
			<wfw:commentRss>http://dwfeng.net/blog/2008/04/17/no-such-file-or-directory-devurandom.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails2.0定制action</title>
		<link>http://dwfeng.net/blog/2008/04/11/rails2-customize-action.html</link>
		<comments>http://dwfeng.net/blog/2008/04/11/rails2-customize-action.html#comments</comments>
		<pubDate>Fri, 11 Apr 2008 02:50:40 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[ROR]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[RubyonRails]]></category>

		<guid isPermaLink="false">http://dwfeng.net/blog/?p=45</guid>
		<description><![CDATA[Rubyonrails在完全接受REST思想推出2.0版本以后，action的写法与以前有了很大的不同。 一般的，index, show, new, edit, create, update，destroy默认的七个action就以足够了。但是如果有特殊要求的话，可以通过以下方法添加action。 比如在config/routes.rb有这样一个Resource： map.resources :courses 如果要向这个resource里加一个introduce action的话，只需要在后面加上:collection。 map.resources :courses, :condition =&#62; { :introduce =&#62; :get } :introduce即action的名称 :get是采用什么方式向server发送信息。根据需要也可以使用:post等。]]></description>
			<content:encoded><![CDATA[<p>Rubyonrails在完全接受REST思想推出2.0版本以后，action的写法与以前有了很大的不同。</p>
<p>一般的，index, show, new, edit, create, update，destroy默认的七个action就以足够了。但是如果有特殊要求的话，可以通过以下方法添加action。</p>
<p>比如在config/routes.rb有这样一个Resource：</p>
<p><code style="background-color: gray; font-family: Courier New; ">map.resources :courses</code></p>
<p>如果要向这个resource里加一个introduce action的话，只需要在后面加上:collection。</p>
<p><code style="background-color: gray; font-family: Courier New; ">map.resources :courses, :condition =&gt; { :introduce =&gt; :get }</code></p>
<p>:introduce即action的名称</p>
<p>:get是采用什么方式向server发送信息。根据需要也可以使用:post等。</p>
]]></content:encoded>
			<wfw:commentRss>http://dwfeng.net/blog/2008/04/11/rails2-customize-action.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用RubyonRails写的RubyonRails API</title>
		<link>http://dwfeng.net/blog/2007/09/18/rubyonrails-api-onrails.html</link>
		<comments>http://dwfeng.net/blog/2007/09/18/rubyonrails-api-onrails.html#comments</comments>
		<pubDate>Tue, 18 Sep 2007 10:39:40 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[ROR]]></category>
		<category><![CDATA[RubyonRails]]></category>

		<guid isPermaLink="false">http://dwfeng.net/blog/2007/09/18/%e7%94%a8rubyonrails%e5%86%99%e7%9a%84rubyonrails-api/</guid>
		<description><![CDATA[在用Rubyonrails开发的时候，有几个网页时必须开的，第一个当然是你开发的网页，另外肯定要开一个API文档页面。RubyonRails自带的API很简单也很实用，就是按字母顺序排列每一个类和方法。查找的时候，按着要查找的类或方法的名字的字母顺序查就是了，时间一长那些常用的方法和类的大概位置也就大概记住了，也不会有太慢的感觉。 但是，有人对这些不满意，他的解决办法就是用RubyonRails写一个更好的RubyonRails API， 这就是Noobkit Docs。上面列出了几乎所有的Ruby和RubyonRails API，支持输入查找，并且在网站的左侧还有个Ajax的API目录树，节点上的图标很是精致，看着它，也许写程序时候心情也会变好吧。这个目录树还支持用户定制，注册过的用户(Open Id)可以把经常使用的API添加到一个Bookmark中。 另外，我觉得最方便的，就是这个API可以继承到Firefox和IE(7.0)的搜索栏里，这样查找API的时候根本不需要为API单独开个Tab，直接在浏览器直接查找就行了。 如果你用RubyonRails开发网站，Noobkit Docs也许是个不错的选择。]]></description>
			<content:encoded><![CDATA[<p>在用Rubyonrails开发的时候，有几个网页时必须开的，第一个当然是你开发的网页，另外肯定要开一个API文档页面。<a title="Rails API" href="http://api.rubyonrails.org/">RubyonRails自带的API</a>很简单也很实用，就是按字母顺序排列每一个类和方法。查找的时候，按着要查找的类或方法的名字的字母顺序查就是了，时间一长那些常用的方法和类的大概位置也就大概记住了，也不会有太慢的感觉。</p>
<p>但是，有人对这些不满意，他的解决办法就是用RubyonRails写一个更好的RubyonRails API， 这就是<a title="Noobkit Docs" href="http://www.noobkit.com/">Noobkit Docs</a>。上面列出了几乎所有的Ruby和RubyonRails API，支持输入查找，并且在网站的左侧还有个Ajax的API目录树，节点上的图标很是精致，看着它，也许写程序时候心情也会变好吧。这个目录树还支持用户定制，注册过的用户(Open Id)可以把经常使用的API添加到一个Bookmark中。</p>
<p>另外，我觉得最方便的，就是这个API可以继承到Firefox和IE(7.0)的搜索栏里，这样查找API的时候根本不需要为API单独开个Tab，直接在浏览器直接查找就行了。</p>
<p>如果你用RubyonRails开发网站，Noobkit Docs也许是个不错的选择。</p>
]]></content:encoded>
			<wfw:commentRss>http://dwfeng.net/blog/2007/09/18/rubyonrails-api-onrails.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
