0
我有一个新幼儿园嵌套形式
<%= form_for @kindergarten, :html => {:multipart => true} do |f|%>
<%= render 'shared/error_messages', object: f.object %>
</br>
<%= f.fields_for :photos do |p| %>
<%= p.label 'upload photo'%>
<%= p.file_field :image %>
<% end %>
</br>
<%= render 'about_company', f: f%>
</br>
<%= render 'contact', f: f %>
<%= f.submit "Create my account", class: "btn btn-large btn-primary" %>
<%end%>
这背后的逻辑是,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 :photo, presence: true
我与这个挣扎了几个小时,现在,我不明白为什么“上传文件“按钮和标签不显示。当我说现在显示,我的意思是他们完全被忽略,不呈现在呈现的HTML。
现在我得到这个错误:'未定义的方法“照片”的零:NilClass' –
我不能告诉你在哪里得到这个错误。您需要提供更多信息。 – rossta
它只是这样的:'app/controllers/kindergartens_controller.rb:5:'new''。我也更新了控制器内的新动作,现在看起来像这样:'def new @kindergarten = Kindergarten.new @ kindergarden.photos.build end' –