在活动管理员列中显示Paperclip图像

时间:2014-02-18 21:06:46

标签: ruby-on-rails ruby associations paperclip activeadmin

我可以在Active Admin中的列中显示图像文件名,但我似乎无法显示实际图像

我有一段关系

Member
has_many :member_images

MemberImage
belongs_to :member

我可以上传图片,所有关联都已到位。

所以要显示我做的文件名

column "Filename" do |f|
  f.member_images.map(&:photo_file_name).join("<br />").html_safe
end

我试过这个以显示实际图像

column "Images" do |m|
  m.member_images do |img|
    image_tag(img.photo.url(:thumb))
  end
end

但我在视图中收到此错误

<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_MemberImage:0x007f9634a3f760>

任何人都可以建议我做错了吗

谢谢

修改

添加了一个.each所以我遍历每个图像,但现在我显示了

[#<MemberImage id: 1, member_id: 1, created_at: "2014-02-18 20:28:33", updated_at: "2014-02-18 20:28:33", photo_file_name: "associations.jpg", photo_content_type: "image/jpeg", photo_file_size: 140780, photo_updated_at: "2014-02-18 20:28:33">]

3 个答案:

答案 0 :(得分:4)

尝试迭代你的图片:

column "Images" do |m|
  m.member_images.each do |img|
    image_tag(img.photo.url(:thumb))
  end
end

答案 1 :(得分:2)

通过向image_tag中添加span或其他块来修复它

column "Images" do |m|
  m.member_images.each do |img|
    span do
      image_tag(img.photo.url(:thumb))
    end
  end
end

答案 2 :(得分:0)

在查看其他类似问题的帖子后,我可以在列中显示图像,如此

column "Images" do |m|
  ul do 
    m.member_images.each do |img|
      li do
        image_tag(img.photo.url(:thumb))
      end
    end
  end
end

虽然我不太确定为什么会这样做