Ruby on rails 轨道:两个脚手架模型的嵌套形式?
如何为2个脚手架模型创建嵌套表单 我有一个教学大纲模型,它有很多任务。以前,创建任务的唯一方法是通过教学大纲嵌套形式(我用Railscasts制作)。昨天,我决定用户应该能够自己创建任务,因此我在跳过迁移的同时构建了任务,因此它为现有任务模型创建了所有控制器和视图 问题是:我现在可以自己创建任务,但是当我试图通过教学大纲嵌套形式创建任务时,它给了我一个错误“未定义的方法`难度'”,我猜它试图将教学大纲属性传递给任务属性,而任务模式中没有定义任务属性。(难度只是教学大纲的一个属性) 总而言之:当我只有任务的模型时,嵌套表单与“构建器”一起工作,但是当我搭建任务框架使其能够独立存在时,我不能使用嵌套表单 因为有不止两个文件可能会影响这一点,我创建了一个要点。 https://gist.github.com/2631734 顺便说一句,这些是应该传入的参数Ruby on rails 轨道:两个脚手架模型的嵌套形式?,ruby-on-rails,ruby-on-rails-3,activerecord,nested-forms,nested-attributes,Ruby On Rails,Ruby On Rails 3,Activerecord,Nested Forms,Nested Attributes,如何为2个脚手架模型创建嵌套表单 我有一个教学大纲模型,它有很多任务。以前,创建任务的唯一方法是通过教学大纲嵌套形式(我用Railscasts制作)。昨天,我决定用户应该能够自己创建任务,因此我在跳过迁移的同时构建了任务,因此它为现有任务模型创建了所有控制器和视图 问题是:我现在可以自己创建任务,但是当我试图通过教学大纲嵌套形式创建任务时,它给了我一个错误“未定义的方法`难度'”,我猜它试图将教学大纲属性传递给任务属性,而任务模式中没有定义任务属性。(难度只是教学大纲的一个属性) 总而言之:当我
{"utf8"=>"✓",
"authenticity_token"=>"YxkzNmIJl0jBA467tdHP2zqNv22DgKrzSx+WCFgwKtk=",
"syllabus"=>
{"category"=>"Technology and Internet",
"difficulty"=>"Beginner",
"title"=>"missions testing",
"description"=>"deccrip",
"missions_attributes"=>
{"0"=>
{"_destroy"=>"false",
"title"=>"plz",
"content"=>"<p>\r\n\tdad</p>\r\n"
}
}
},
"commit"=>"Create Syllabus"
}
{“utf8”=>“✓",
“真实性令牌”=>“YxkzNmIJl0jBA467tdHP2zqNv22DgKrzSx+WCFgwKtk=”,
“教学大纲”=>
{“类别”=>“技术与互联网”,
“难度”=>“初学者”,
“标题”=>“任务测试”,
“description”=>“deccrip”,
“任务属性”=>
{"0"=>
{u destroy=>“false”,
“标题”=>“plz”,
“内容”=>“\r\n\tdad\r\n”
}
}
},
“提交”=>“创建教学大纲”
}
我最好的猜测是创作
在
current_user.creations.build(params[:syllabus])
指的是一系列任务而不是教学大纲。如果没有完整的错误和用户模型,这很难确定。我想出来了,但它真的很混乱……我相信有更好的方法来完成它,但经过几天的努力,我对这个解决方案非常满意:
@syllabus = Syllabus.new(:title => params[:syllabus][:title], :category => params[:syllabus][:category], :difficulty => params[:syllabus][:difficulty], :description => params[:syllabus][:description], :author_id => current_user)
@syllabus.save!
params[:syllabus][:missions_attributes].each do |a, b|
@mission = Mission.new(:title => b[:title], :content => b[:content], :syllabus_id => @syllabus.id, :author_id => current_user, :category => @syllabus.category)
@mission.save!
end
这些是您现在拥有的参数吗?还是您想要的参数?@BenjaminUdinktenCate-这些是我的错误页面上显示的参数。我想它们是我想要在我的数据库中传递的参数,但它没有被处理