Ruby on rails 不渲染的字段\u-rails 3
最后,为了一个新项目转到Rails 3,并且已经遇到了一个新手问题 尝试做一个简单的嵌套表单 2个模型:列表和任务 列出型号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 <
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