如何处理rails复杂的嵌套模型表单(使用Ajax)

时间:2012-03-26 16:09:33

标签: ruby-on-rails ajax

我是Rails的新手,正在开发一个页面,用户可以创建问题并为其添加多个选项。 (使用ajax)

因此页面需要有一个允许用户添加问题标题的表单,并且在单击时还有一个按钮,它会添加一个文本框来添加问题选项。用户可以多次单击“添加”按钮,每次都需要为该选项添加一个文本框。最后,用户将单击“保存”,将保存问题以及选项。

所以我有这个问题的模型,

class Question
  include Mongoid::Document
  field :title, :type => String
  field :type, :type => String

  embeds_many :question_options
  accepts_nested_attributes_for :question_options

现在在我的问题视图中,我显示了问题标题和类型的表单。我不知道如何构建问题选项的表单字段,因为我认为每次用户点击“添加”按钮时,我都需要调用

@question.question_options.build

但这次访问服务器是否必要?如果是,我怎么知道哪个问题要调用构建,因为我还没有保存过问题。如果没有,我的方法应该是什么。

谢谢!

1 个答案:

答案 0 :(得分:0)

首次加载页面时只需@question.question_options.build,因此您将拥有一个“question_option”字段。

然后,当用户点击“添加”按钮时,我认为您所要做的就是使用javascript复制第一个“question_option”字段。

我不确定我的解释是否明确。如果您需要更多说明,请告诉我。