我有两个模型,一个配置文件模型和一个工作模型。一个配置文件有_许多工作和一个工作属于一个配置文件。我正在使用 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 消息,但实际上并未创建作业。我不认为获取工作。关于如何使它工作的任何想法?谢谢。