0
我有一个类MatriculaForm
与一些协会(belongs_to的和的has_many):NoMethodError(未定义的方法 'aluno' 为ActionController的:参数) - aluno_attributes
class MatriculaForm < Reform::Form
property :aluno, form: PessoaForm
properties :atributos_extras, :mensalidade
#validation
validates :aluno, :dia_vencimento, :empresa, presence: true
end
而且_form.html.erb
<%= form_for @matricula_form do |f| %>
<%= f.fields_for :aluno do |aluno| %>
<%= aluno.text_field :nome %>
<% end %>
<% end %>
在控制器,我做
MatriculaForm.new(params[:matricula])
但是initialize
改革法提出一个错误:
NoMethodError (undefined method `aluno' for #<ActionController::Parameters:0x007fe835772a70>
我看到了成为aluno_attributes
键名的参数。但是阅读文档,参数名称会被重写。
我做错了什么?
属性已经在白名单中,是的,模型保存正确,无需使用重新验证。我没有在控制器'''params.require(:matricula).permit(:id,:aluno_attributes => [:id,:nome等])上找到'''validates_association''' –
的docs ref''' –