新手问题 form_for 中的第一个参数,是从何而来

zealinux · 2012年08月25日 · 最后由 zealinux 回复于 2012年08月28日 · 2090 次阅读

<%= form_for @offer do |f| %> <%= f.label :version, 'Version' %>: <%= f.text_field :version %>
<%= f.label :author, 'Author' %>: <%= f.text_field :author %>
<%= f.submit %> <% end %>

比如这个@offer 是从何而来,能否给个详细的解释。

搜索一下,都没解释清楚。

从 controller 来。 是不是有个 offers_controller.rb 里面有 @offer = Offer.new

@offer是 instance variables,会由 controller 传给 view。 controller 从数据库里取数据,存到 instance variables 里面,传给对应的 view,view 再将之显示出来

http://guides.rubyonrails.org/action_controller_overview.html 2 节

可同时学习 http://guides.rubyonrails.org/layouts_and_rendering.html

如果我只是需要个临时使用的字符串,不该被放到数据中吧。 例如:搜索表单

需要 登录 后方可回复, 如果你还没有账号请 注册新账号