为什么这些强参数返回“未找到参数”错误

时间:2013-11-01 17:37:45

标签: ruby-on-rails ruby-on-rails-4 fetch nested-attributes strong-parameters

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

0 个答案:

没有答案