嵌套表单显示错误

我有一个新幼儿园的以下表格声明

 {:multipart => true} do |f|%>  


这背后的逻辑是1个幼儿园可以有多张照片。

以下是模型声明:

幼儿园

 has_many :photos, limit: 7, dependent: :destroy accepts_nested_attributes_for :photos 

照片

  attr_accessible :image, :logo, :kindergarten_id belongs_to :kindergarten mount_uploader :image, ImageUploader validates :kindergarten_id, presence: true validates :image, presence: true 

以下是幼儿园控制器的样子:

  def new @kindergarten = Kindergarten.new @kindergarden.photos.build end 

现在,当@kindergarten new生成时,我收到以下错误:

 undefined method 'photos' for nil:NilClass Application Trace | Framework Trace | Full Trace app/controllers/kindergartens_controller.rb:5:in `new' 

你写过@kindergarden.photos.build而不是@kindergarten.photos.build 。 我希望拼写错误不在实际代码中。 还可以试试@kindergarten=Kindergarten.create 。 如果您正在调用new,则只需创建一个未保存的记录,然后调用save方法。 这可能是NilClass错误的原因。