我正在处理两个模型Submission
和Tag
。 Submission
has_one :tag
。在我的控制器中,我设置了submission_params
,如下所示:
params.require(:submission).permit(:domain, tag_attributes:[:tag_text, :notes])
但是,我收到错误:Unpermitted parameter: tag
从我的日志中:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"BEJZXOERC3cGSZFlAL91kRJgR+YFcHd6+yMYilDyu/NyN1YviwahKwrifAQfWMdu53/NYCnOVD4NHNXSZmPk7Q==", "submission"=>{"domain"=>"test", "tag"=>{"tag_text"=>"test tag", "notes"=>"test"}}, "commit"=>"Submit"}
也许我只是生锈而且忽略了某些东西,或者rails5是否有一个处理强力障碍的新技巧?提前谢谢!
答案 0 :(得分:1)
如果是
accepts_nested_attributes :tag
以下是您允许的方式:
# :_destroy is for being able to delete the nested tag
params
.require(:submission)
.permit(:domain, tag_attributes: %i(id submission_id tag_text notes _destroy))
答案 1 :(得分:0)
您必须发送tag_attributes
param而不是tag
- 请参阅日志输出