我有两个模型,一个配置文件模型和一个工作模型。配置文件has_many作业和作业belongs_to配置文件。我正在使用cacoon gem来创建嵌套表单。在我的应用程序中,有人创建了一个配置文件,然后他们可以添加工作。因此,当他们完成第一份工作时,已经创建了一个配置文件,工作没有,并且表单数据将转到更新操作(因为配置文件已经存在,即使没有工作也是如此)。问题是,由于还没有工作,我收到错误:
param not found: profile
以下是我尝试使用的参数:
def profile_params
params.require(:profile).permit(:title, :category, :description, :state, :zip_code, :rate, jobs_attributes: [:firm, :position, :category, :description, :begin, :end, :_destroy])
end
然后我按照另一个堆栈溢出帖子的建议切换到以下代码:
def profile_params
params.fetch(:profile, {}).permit(:title, :category, :description, :state, :zip_code, :rate, jobs_attributes: [:firm, :position, :category, :description, :begin, :end, :_destroy])
end
使用第二个profile_params(带有fetch的那个),页面将加载成功的flash消息,但实际上并未创建作业。我不认为这个提取工作正常。关于如何使这个工作的任何想法?感谢。