我正在尝试改变我在2.8到3中所做的事情。
它的作用是从控制器中的show动作在模型中构建一个空白对象,如此。
@project.tasks.build
然后在节目视图中我可以做这样的事情
<% form_for @project do |c| %>
<% c.fields_for :tasks, @project.tasks.last do |p| %>
<%= p.text_field :name, :label => 'add task' %>
<% end %>
<%= submit_tag '+' %>
<% end %>
在这种情况下,它只显示输入的空白记录。
在另一个实例中,我可以删除.last
并从项目的show动作中编辑所有相关任务。
我如何在Rails 3中执行此操作?因为它给了我这个错误。
undefined method `name' for #<Array:0xb2b33d8>
答案 0 :(得分:0)
马上,rails 3中的form_for需要“=”
<%= form_for @project do |c| %>
此处的信息:http://guides.rubyonrails.org/form_helpers.html也可能提供一些帮助。
希望对你有用!
答案 1 :(得分:0)
我的不好,我在模型中忘了accepts_nested_attributes_for