【发布时间】:2016-12-27 01:22:01
【问题描述】:
首先,我只想在当前对象中获取一个对象,然后将其发送到我的后端。
我有这个简单的JSON(从表单生成):
{
"name": "Project 1",
"project_criteria": [
{
"name": "Criterium 1",
"type": "Type 1",
"benefit": "1"
},
{
"name": "Criterium 2",
"type": "Type 2",
"benefit": "3"
}
]
}
我的classes:
class Project < ApplicationRecord
has_many :project_criteria
accepts_nested_attributes_for :project_criteria
end
class ProjectCriterium < ApplicationRecord
belongs_to :project
end
ProjectsController:
def project_params
params.require(:project).permit(:name, project_criteria: [] )
end
但我仍然无法访问project_criteria 参数,如下所示:
Started POST "/projects" for 127.0.0.1 at 2016-08-19 16:24:03 -0300
Processing by ProjectsController#create as HTML
Parameters: {"project"=>{"name"=>"Project 1", "project_criteria"=>{"0"=>{"benefit"=>"1", "name"=>"Criterium 1", "type"=>"Type 1"}, "1"=>{"benefit"=>"3", "name"=>"Criterium 2", "type"=>"Type 2"}}}}
Unpermitted parameter: project_criteria # <-----------
注意:
顺便说一句,我已经尝试使用 criterium 而不是 criterium(我认为 - 是正确的,因为它应该复数)在has_many和accepts_nested_attributes_for,但它也不起作用。
有人对此有解决方案吗?
【问题讨论】:
-
小注:标准的单数是criterion
-
可能是一个关于自行车比赛的应用¯_(ツ)_/¯
标签: ruby-on-rails ruby ruby-on-rails-5