Ruby on rails 轨道:两个脚手架模型的嵌套形式?

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制作)。昨天,我决定用户应该能够自己创建任务,因此我在跳过迁移的同时构建了任务,因此它为现有任务模型创建了所有控制器和视图 问题是:我现在可以自己创建任务,但是当我试图通过教学大纲嵌套形式创建任务时,它给了我一个错误“未定义的方法`难度'”,我猜它试图将教学大纲属性传递给任务属性,而任务模式中没有定义任务属性。(难度只是教学大纲的一个属性) 总而言之:当我

如何为2个脚手架模型创建嵌套表单

我有一个教学大纲模型,它有很多任务。以前,创建任务的唯一方法是通过教学大纲嵌套形式(我用Railscasts制作)。昨天,我决定用户应该能够自己创建任务,因此我在跳过迁移的同时构建了任务,因此它为现有任务模型创建了所有控制器和视图

问题是:我现在可以自己创建任务,但是当我试图通过教学大纲嵌套形式创建任务时,它给了我一个错误“未定义的方法`难度'”,我猜它试图将教学大纲属性传递给任务属性,而任务模式中没有定义任务属性。(难度只是教学大纲的一个属性)

总而言之:当我只有任务的模型时,嵌套表单与“构建器”一起工作,但是当我搭建任务框架使其能够独立存在时,我不能使用嵌套表单

因为有不止两个文件可能会影响这一点,我创建了一个要点。 https://gist.github.com/2631734

顺便说一句,这些是应该传入的参数

{"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-这些是我的错误页面上显示的参数。我想它们是我想要在我的数据库中传递的参数,但它没有被处理