我有处理 3 个模型的嵌套表单。工作、雇主、用户
工作控制器上的表单需要创建工作、雇主和用户。
Job 和 Employer 表单工作正常,但是当我添加 User 嵌套表单时,我收到错误“NilClass:Class 的未定义方法 `model_name'”
我完全不知道为什么。
这是我的代码:
工作模式
attr_accessible :category, :employer_id, :employer_attributes, :user_attributes
belongs_to :employer
accepts_nested_attributes_for :employer, :user
has_many :applications
has_many :users, :through => :applications
雇主模型
attr_accessible :companyname, :email, :logo, :password, :url
has_many :jobs
belongs_to :user
用户模型
attr_accessible :admin, :cv, :name, :password, :website, :password_confirmation
has_many :applications
has_many :jobs, :through => :applications
has_one :employer
_form.html.erb
<%= form_for(@job) do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.fields_for :employer do |builder| %>
<%= builder.label :companyname, "Company Name" %>
<%= builder.text_field :companyname %>
<% end %>
<%= f.fields_for :user do |builder| %>
<%= builder.label :email, "Email" %>
<%= builder.text_field :email %>
<%= builder.label :password, "Password" %>
<%= builder.text_field :password %>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
作业控制器
def new
@job = Job.new
@job.employer = @job.build_employer
@job.user = @job.build_user