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

zealinux · August 25, 2012 · Last by zealinux replied at August 28, 2012 · 2089 hits

<%= 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

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

You need to Sign in before reply, if you don't have an account, please Sign up first.