例如:
环境:
Ruby 1.9.2
Rails 3.0.5
Mongoid
我有一个Survey模型,并在其中嵌入了许多问题。现在我想在surveys_controller.rb中定义一个函数“publish”,它可以根据Survey的记录(即对象)动态创建模型。 例如,我有一个调查对象(使用survey.id),对象实例有n个(调查对象可能不同)问题(每个问题都有quesiton.id)。创建调查对象后,我想相应地构建一个模型:使用“s{@survey.id}命名集合”并创建名为“q {@question.id}”的n个字段。
#surveys_controller.rb
def publish
@survey = Survey.find(params[:id])
@questions = Survey.questions
... how to build a model? ...
... and how to set collection name using "s{@survey.id}" ...
@questions.each do |question|
... and then how to add fields (named with "q{question.id}") and define type (named with question.type) ...
end
end
答案 0 :(得分:0)
关注你的问题有点困难。但你在找这个吗?
@new_question = @survey.questions.build
http://guides.rubyonrails.org/association_basics.html#has_many-association-reference