我是ruby on rails的新手,刚刚安装了主动管理员,并试图自定义
视图。
我有一个产品和图像表。每张图片都属于一种产品。
现在,我想在显示产品页面时显示包含相关图像的列。
目前只有image_url文本不起作用。后来我想做
将图片显示为50x50px。
我该怎么做? (图像模型:name:string image_url:text)
这就是我所做的:
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
我不知道如何使用“do image”修复该部分。我是rails 2天exp的初学者..
似乎语法错误并抛出错误:
undefined method `image_url' for #<Product:0x00000101b5a458>
由于
答案 0 :(得分:11)
您需要从图像对象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等宝石来实际调整图像大小。
答案 1 :(得分: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.