首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cocoon neste图片-如何在编辑页面上显示图片

问cocoon neste图片-如何在编辑页面上显示图片
EN

Stack Overflow用户
提问于 2016-09-07 04:16:46
回答 1查看 449关注 0票数 0

我有一个Merchant模型,它接受图像模型的嵌套属性。我想在商家编辑页面显示上传的图像,但我卡住了。

我收到以下错误:

代码语言:javascript
复制
undefined method `image?' for nil:NilClass

有什么想法吗?

商家模型

代码语言:javascript
复制
class Merchant < ApplicationRecord
  has_many   :images, inverse_of: :merchant, dependent: :destroy
  accepts_nested_attributes_for :images, reject_if: :all_blank, allow_destroy:     true
end

图像模型

代码语言:javascript
复制
class Image < ApplicationRecord
  belongs_to :merchant
  mount_uploader :imagem, ImagemUploader
end

商家控制器

代码语言:javascript
复制
def new
  @merchant = Merchant.new
  @image = @merchant.images.build
end

表格

代码语言:javascript
复制
  <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>

部分

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-07 05:03:51

您可以尝试这样做:

代码语言:javascript
复制
<%= image_tag(f.object.image_url(:thumb)) if f.object.image? %>

解释:

f.object将是图像对象,如果它是新记录,那么它将不会包含图像。因为我们已经有了图像记录,所以我们可以添加对图像的检查?在f.object上。

我们也可以访问该图像的image_url。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39357152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档