Cocoon neste image - 如何在编辑页面上显示图像
cocoon neste image - how show image on edit page
我有一个接受图片嵌套属性的商家模型model.I想在商家编辑页面显示上传的图片,但我卡住了。
我收到以下错误:
undefined method `image?' for nil:NilClass
有什么想法吗?
商家模型
class Merchant < ApplicationRecord
has_many :images, inverse_of: :merchant, dependent: :destroy
accepts_nested_attributes_for :images, reject_if: :all_blank, allow_destroy: true
end
图像模型
class Image < ApplicationRecord
belongs_to :merchant
mount_uploader :imagem, ImagemUploader
end
商家控制器
def new
@merchant = Merchant.new
@image = @merchant.images.build
end
表格
<div id="images">
<%= f.simple_fields_for :images do |image_field| %>
<%= render partial: 'image_fields', locals: {f: image_field} %>
<% end %>
<%= link_to_add_association('Add image', f, :images, { class: 'button-admin__actions text--small' }) %>
</div>
部分
<div class="nested-fields">
**<%= image_tag(@image.image_url(:thumb)) if @image.image? %>**
<%= f.input :image,
accept: 'image/jpeg,image/gif,image/png',
required: true
%>
<%= link_to_remove_association('remove', f, { class: 'button-admin__actions text--small' }) %>
</div>
你可以试试这个:
<%= image_tag(f.object.image_url(:thumb)) if f.object.image? %>
解释:
f.object 将是图像对象,如果它是新记录,那么它将没有图像。因为我们已经有图像记录,所以我们可以添加图像检查吗?在 f.object.
我们也可以访问该图像的 image_url。
我有一个接受图片嵌套属性的商家模型model.I想在商家编辑页面显示上传的图片,但我卡住了。
我收到以下错误:
undefined method `image?' for nil:NilClass
有什么想法吗?
商家模型
class Merchant < ApplicationRecord
has_many :images, inverse_of: :merchant, dependent: :destroy
accepts_nested_attributes_for :images, reject_if: :all_blank, allow_destroy: true
end
图像模型
class Image < ApplicationRecord
belongs_to :merchant
mount_uploader :imagem, ImagemUploader
end
商家控制器
def new
@merchant = Merchant.new
@image = @merchant.images.build
end
表格
<div id="images">
<%= f.simple_fields_for :images do |image_field| %>
<%= render partial: 'image_fields', locals: {f: image_field} %>
<% end %>
<%= link_to_add_association('Add image', f, :images, { class: 'button-admin__actions text--small' }) %>
</div>
部分
<div class="nested-fields">
**<%= image_tag(@image.image_url(:thumb)) if @image.image? %>**
<%= f.input :image,
accept: 'image/jpeg,image/gif,image/png',
required: true
%>
<%= link_to_remove_association('remove', f, { class: 'button-admin__actions text--small' }) %>
</div>
你可以试试这个:
<%= image_tag(f.object.image_url(:thumb)) if f.object.image? %>
解释:
f.object 将是图像对象,如果它是新记录,那么它将没有图像。因为我们已经有图像记录,所以我们可以添加图像检查吗?在 f.object.
我们也可以访问该图像的 image_url。