0

与此railscast类似,我正在尝试为嵌套属性创建一个表单。在我的应用程序中,节点可以附加问题。我希望一种表单能够为节点和问题设置属性。这是在模型中定义的:

节点.rb

...
has_many :questions
accepts_nested_attributes_for :questions

我不确定如何准确地创建可以接受问题的表单。目前是这样的:

 <%= f.fields_for @node.questions do |builder| %>
  <%= render 'question_form', f: builder %>    
  <% end %>

然后问题表单呈现相关字段。

Node 控制器当前依赖于正确传递的属性:nodes_controller.rb

def new
@node = current_user.nodes.build 
//also tried building a question

def create
@node = current_user.nodes.new(params[:node])
@node.save... 
//anything else needed? 

如何获得表格以成功创建问题?

4

1 回答 1

0
@node = current_user.nodes.new(params[:node])

应该

@node = current_user.nodes.create(params[:node])

假设 current_user 变量已初始化,并且您已使用 attr_accessible 将表单中保存的所有属性标记为“可批量分配”,它应该可以工作

请注意,该new方法只是创建一个对象而不将其保存到数据库中。create将其保存到数据库。

于 2012-07-27T15:48:05.780 回答