Parámetro no permitido en Rails 5
En primer lugar, quiero simplemente obtener un objeto dentro del objeto actual que estoy enviando a miback-end
.
Tengo este simpleJSON
(generado a partir de un formulario):
{
"name": "Project 1",
"project_criteria": [
{
"name": "Criterium 1",
"type": "Type 1",
"benefit": "1"
},
{
"name": "Criterium 2",
"type": "Type 2",
"benefit": "3"
}
]
}
Miclasses
:
class Project < ApplicationRecord
has_many :project_criteria
accepts_nested_attributes_for :project_criteria
end
class ProjectCriterium < ApplicationRecord
belongs_to :project
end
Controlador de proyectos:
def project_params
params.require(:project).permit(:name, project_criteria: [] )
end
Pero aún no puedo accederproject_criteria
parámetro como puede ver a continuación:
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 # <-----------
Nota:
Por cierto, ya intenté usarcriterio en lugar decriterio(cual- en mi opinión - es el correcto ya que debe estar pluralizado) enhas_many
yaccepts_nested_attributes_for
, pero tampoco funciona.
¿Alguien tiene una solución para esto?