accepts_nested_attributes_for не позволяет отображать поля формы - PullRequest
1 голос
/ 19 января 2011

Когда я использую 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 ]

4 голосов
/ 19 января 2011

Вы строили вопросы, в контроллере?

Что-то вроде

@survey.questions.build

Это строит один связанный вопрос, поэтому будет отображаться только одна текстовая область. запустить его в цикле, как

2.times { @survey.questions.build }

появится 2 раза.

1 голос
/ 19 января 2011

Хотите создавать новые вопросы или редактируете их?Вы можете попробовать что-то вроде этого, если создаете новый вопрос для этого опроса:

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