Rails 4: 编辑表单时显示上传的图片 - 获取未定义的局部变量或方法

Rails 4: show uploaded image when editing form - getting undefined local variable or method

如何在编辑表单时显示上传的图片(关联)?我试着这样显示:

_item_fields.haml

.nested-fields

  = image_tag f.img.url if f.img.url?
  = f.input :item

  = f.file_field :img

  = link_to_remove_association "remove item", f

如果有 .url 它应该显示在哪里,但我得到这个错误:

undefined local variable or method 'img' #<SimpleForm::FormBuilder:0x007ff0eff8aee8>

_form.haml

= simple_form_for @model, html: {multipart: true} do |f|
  = f.simple_fields_for :items do |m|

    = render 'item_fields', f: m

    = link_to_add_association 'add item', f, :items
    = f.button :submit

在我的show.haml中,我有这个

- @model.items.each do |m|
  - if m.img
    = image_tag m.img.url
  - else
    no image

这显示图像正确。

我发现这行得通:在表单内使用 f.object 获取基础对象,为 image_tag

构建正确的 url
image_tag f.object.img.url 

我想 post 一个参考,但它没有很好的记录。有一点讨论 here.