9

我是 ruby​​ on rails 的新手,刚刚安装了活动管理员并试图自定义

意见。

我有一个产品和图像表。每个图像属于一个产品。

现在我想在显示产品页面时显示一个带有相关图像的列。

目前只有 image_url 文本不起作用。后来我想做

以 50x50px 显示图片。

我该怎么做?(图像模型:名称:字符串 image_url:文本)

这是我所做的:

ActiveAdmin.register Product do

index do
    column "Image" do |image|
        image.image_url
    end
    column :name
    column :preview_text
    column :full_text
    column :price, :sortable => :price do |product|
      div :class => "price" do
          number_to_currency product.price
     end
    end
 default_actions
 end
end

我不知道如何用“做图像”来修复那个部分。我是 Rails 的初学者 2 天 exp..

似乎语法错误并抛出错误:

undefined method `image_url' for #<Product:0x00000101b5a458>

谢谢

4

2 回答 2

17

您需要image_url从图像对象中获取product.image.image_url

关于图像大小,您可以将图像显示为您想要的大小,如下所示

column "Image" do |product|
  image_tag product.image.image_url, class: 'my_image_size'
end

.css

.my_image_size {
  width: 50px;
  height: 50px;
}

或者,您实际上可以使用CarrierWave 之类的 gem 来调整图像本身的大小。

于 2013-05-19T23:14:51.720 回答
1
column "Image" do |product|
  image_tag (product.image,width:100,height:80) 
end


references
image=it's belongs to your database column name
product=it creates new object for your image by activeadmin register class method.
于 2017-05-14T14:06:36.263 回答