awesome...什么是 pipe 冲突
#22 楼 @quakewang 最新版的 thin 也支持这种给进程发送信号来重新加载日志的特性
结论还没说出本质啊
#3 楼 @fsword system("xx") 都算 shelling out
Shelling out When shelling out (using the system or backticks methods, for example), Bundler's environment changes will propogate to the subshell environment. If you desire to shell out without Bundler's environment changes, simply employ the with_clean_env method. It will restore all environment variables to what they were before Bundler was activated. For example:
Bundler.with_clean_env do
`brew install wget`
end
如何理解不受当前进程影响
? shelling out 不就可以吗
Puppet is what you want
4 级没过。。还差好多分。。
想起了这个神帖:http://www.douban.com/group/topic/19177994/
ps,这个帖子的楼主已经把原文编辑掉了。。
#21 楼 @ery 还是用 ActiveRecord::Associations::Builder::BelongsTo.build
这个例子:
根据 Ruby 的目录组织习惯,BelongsTo 这个类应该在 active_record/associations/builder/belongs_to.rb 里定义的。
进去一看,嗨,还真找到了...
还有一些继承的,去看父类或 Mixin 就可以了。Rails 做的很好了,注释里都有继承关系:
# Association
# SingularAssociation
# HasOneAssociation
# HasOneThroughAssociation + ThroughAssociation
# BelongsToAssociation
# BelongsToPolymorphicAssociation
# CollectionAssociation
# HasAndBelongsToManyAssociation
# HasManyAssociation
# HasManyThroughAssociation + ThroughAssociation
#14 楼 @iwinux 我也推荐看书的,这里有豆列:http://book.douban.com/doulist/1518168/
其实你可以先看看这样请求的 User agent。看看是不是一些非浏览器程序搞的。如果是的话就封掉好了。
#1 楼 @ywencn 啊 最近也遇到这方面的问题,最后的解决方案是这样的: 像 meta keywords 还有 page title 或 javascript/css 这些页面里固定位置的元素渲染都不用实例变量去搞,而是用 content_for。用 controller 去做这样的事情有几个确定:
1.从职责角度来讲,这完全不是 controller 应该做的,是 view 的职责。 2.会初始化很多莫名其妙的实例变量(虽然 Rails 里 controller 和 view 之间就是这样通讯的,但我还是看着不舒服...) 3.controller 代码增多。
application.html.erb:
<title><%= yield :page_title || "default page title" %></title>
<meta name="keywords" content="<%= yield :keywords || "default keywords" %>" />
然后在 view 里 render:
<% content_for :page_title do %>
这里是页面标题
<% end %>
<%= content_for :keywords do %>
这里是keywords
<% end %>
显然不一样啊:
app.get "articles/1"
Article Load (0.3ms) SELECT `articles`.* FROM `articles` WHERE `articles`.`id` = 1 LIMIT 1
[8] pry(main)> app.request.params
=> {"action"=>"show", "controller"=>"articles", "id"=>"1"}
[9] pry(main)> app.request.body
=> #<StringIO:0x0000000532d188>
去 github 注册输入 404 会提示“Username is a reserved word, is already taken.” 在 validation 里加一个保留词判断就 ok 了。
靠,蜗牛都开始写测试了。。