Ruby on rails 不渲染的字段\u-rails 3

Ruby on rails 不渲染的字段\u-rails 3,ruby-on-rails,nested-forms,fields-for,Ruby On Rails,Nested Forms,Fields For,最后,为了一个新项目转到Rails 3,并且已经遇到了一个新手问题 尝试做一个简单的嵌套表单 2个模型:列表和任务 列出型号 class List < ActiveRecord::Base has_many :tasks, :dependent=>:destroy accepts_nested_attributes_for :tasks, :reject_if => lambda { |a| a[:name].blank? } end class Task <

最后,为了一个新项目转到Rails 3,并且已经遇到了一个新手问题

尝试做一个简单的嵌套表单

2个模型:列表和任务

列出型号

class List < ActiveRecord::Base
  has_many :tasks, :dependent=>:destroy
  accepts_nested_attributes_for :tasks, :reject_if => lambda { |a| a[:name].blank? }
end
class Task < ActiveRecord::Base
  belongs_to :list

end
列表/new.html.erb

<% form_for :list, :url=>{:action=>"create"} do |f| %>
    <%= f.text_field :name, :class=>'big' %>
    <%= f.label :name, "ex: Today's Todos, Christmas List" %>

    <% f.fields_for :tasks do |builder| %>
        <p>
            <%= builder.label :name, "Task" %>
            <%= builder.text_field :name %>
            <%= builder.check_box :_destroy %>
        </p>
    <% end %>

    <p><%= submit_tag "Create List", :id => "submit", :name => "submit", :class => "form_submit", :disabled => false, :disable_with => "Please wait..." %></p>

<% end -%>
{:action=>“create”}do | f |%>
“大“%”

“提交”、:name=>“提交”、:class=>“表单提交”、:disabled=>false、:disabled=>with=>“请稍候…”%>

使用debug@list,我可以看到我在控制器中创建的3个任务,但是它不会呈现


有什么想法吗?

在rails 3中,你应该在你的列表中使用你必须添加的新控制器

 def new
   @list = List.new
   3.times{ 
   @tasks = @list.tasks.build
   }
end

解决了这个问题。。。现在只显示3个任务文本_字段中的1个。。。有什么想法吗?嗯。。。知道了。我没有使用我以_forCool的形式创建的实例变量,很高兴你解决了问题。你可能想看看或者在将来让rails表单更容易处理。我爱你!三天的研究,没有找到解决方案。除了这个@我很高兴这对你有帮助!
 def new
   @list = List.new
   3.times{ 
   @tasks = @list.tasks.build
   }
end