accepts_nested_attributes_for使表单字段不显示

时间:2011-01-18 22:16:08

标签: ruby-on-rails forms nested

当我使用accepts_nested_attributes_for时,我的视图中不再显示相应的字段。

class Survey < ActiveRecord::Base
  has_many :questions   
  accepts_nested_attributes_for :questions
end

class Question < ActiveRecord::Base
  belongs_to :survey
end

然后在我看来:

<%= form_for @survey do |f| %>
  <%= f.fields_for :questions do |question_fields| %>
    <%= question_fields.text_area :text %> 
  <% end %>
<% end %>

如果我删除accepts_nested_attributes_for,那么text_area会显示,但如果我保留它......则无法呈现任何内容。

我正在运行Rails 3.0.3

2 个答案:

答案 0 :(得分:4)

你是否在控制器中构建了问题?

这样的东西

@survey.questions.build

这会构建一个相关问题,因此只会显示一个文本区域。像

这样的循环运行它

2.times { @survey.questions.build }

它会出现2次。

答案 1 :(得分:1)

您想要创建新问题还是编辑它们?如果您要为此调查创建新问题,您可能想尝试这样的事情:

<= f.fields_for @survey.questions.build do |question_fields| %>