Parâmetro não permitido no Rails 5
Antes de tudo, quero simplesmente colocar um objeto dentro do objeto atual que estou enviando para o meuback-end
.
Eu tenho esse simplesJSON
(gerado a partir de um formulário):
{
"name": "Project 1",
"project_criteria": [
{
"name": "Criterium 1",
"type": "Type 1",
"benefit": "1"
},
{
"name": "Criterium 2",
"type": "Type 2",
"benefit": "3"
}
]
}
Minhasclasses
:
class Project < ApplicationRecord
has_many :project_criteria
accepts_nested_attributes_for :project_criteria
end
class ProjectCriterium < ApplicationRecord
belongs_to :project
end
Controlador de Projetos:
def project_params
params.require(:project).permit(:name, project_criteria: [] )
end
Mas ainda não consigo acessarproject_criteria
parâmetro como você pode ver abaixo:
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:
A propósito, eu já tentei usarcritério ao invés decritério(qual- Na minha opinião - é o correto, pois deve ser pluralizado) emhas_many
eaccepts_nested_attributes_for
, mas também não funciona.
Alguém tem uma solução para isso?