当我保存申请人模型时,并不是将嵌套模型数据保存到数据库中。我已经粘贴了控制器代码,模型代码和传递参数
我的参数是:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"5F8h7qG2pez9Rsutnq3JXYyXbPkbVJAlgfIfsE1bdUw=", "applicant"=>
{"job_id"=>"1", "first_name"=>"sanyam", "location"=>"", "email"=>"", "mob_no"=>"", "alternative_no"=>"", "last_name"=>"jain", "works_attributes"=>{"1366604495995"=>
{"title"=>"M Tech", "company_name"=>"", "start_month"=>"", "start_year"=>"", "end_month"=>"", "end_year"=>"", "description"=>"", "_destroy"=>"false"}, "1366604506595"=>
{"title"=>"B Tech", "company_name"=>"", "start_month"=>"", "start_year"=>"", "end_month"=>"", "end_year"=>"", "description"=>"", "_destroy"=>"false"}}, "linkedin"=>"",
"twitter"=>"", "facebook"=>"", "message"=>""}, "submit"=>""}
我的控制器代码是:
def createProfile
@applicant = Applicant.new(params[:applicant])
@applicant.save
end
我的申请人模型是>
class Applicant < ActiveRecord::Base attr_accessible :first_name, :last_name, :location, :email, :mob_no, :alternative_no, :linkedin, :facebook, :twitter, :message, :resume, :job_id has_many :works, :dependent => :destroy has_many :educations, :dependent => :destroy attr_accessible :works_attributes, :educations_attributes accepts_nested_attributes_for :works, :reject_if => lambda { |a| a[:content].blank? }, :allow_destroy => true accepts_nested_attributes_for :educations, :reject_if => lambda { |a| a[:content].blank? }, :allow_destroy => true end
我的工作模型是
class Work < ActiveRecord::Base
attr_accessible :applicant_id, :company_name, :description, :end_month, :end_year, :start_month, :start_year, :title
belongs_to :applicant
validates_associated :applicant
end
当我保存申请人模型时,并不是将嵌套模型数据保存到数据库中。我已经粘贴了控制器代码,模型代码和传递参数。我的参数是:参数:{“ utf8” ...
您指定的reject_if表示,当params中没有:content时,不应保存子模型。因此,请确保您的参数具有content属性,其中包含一个值。 Ur参数应该看起来像这样:
如果未保存子表数据,请记住两个attr_accessible