我在 Rails 应用程序中使用 Paperclip gem 来上传图像。但在 View 中,没有图像。缺失图像的路径为http://localhost:3000/assets/
。
这是代码:
<div class="advert_images">
Фото: <br>
<% if @advertising.image.url %>
<%= image_tag(@advertising.image) %>
<% end %>
<br>
Розташування на карті: <br>
<% if @advertising.map.url(:normal) %>
<%= image_tag(@advertising.map.url(:normal)) %>
<% end %>
</div>
奇怪的是当输入代码<%= @advertising.image.url %>
时这向我显示了现有图像的正确路径(例如 /system/adverts/images/000/001/408/original/luxot.gif?1355951576
)。
型号:
# -*- encoding : utf-8 -*-
class Advert < ActiveRecord::Base
attr_accessible :adress, :category, :city, :desc, :map_path, :name, :image_path, :map, :image
has_attached_file :map, :styles => {:normal => "350x265", :thumb => "250x165"}
has_attached_file :image, :styles => {:normal => "350x265", :thumb => "250x165"}
validates :name, :length => {:in => 2..20}, :presence => true
validates :category, :presence => true
validates :city, :presence => true
validates :adress, :presence => true
scope :by_city, lambda {|city| where("city = ?", city)}
scope :by_category, lambda {|category| where("category = ?", category)}
end
最佳答案
找到了解决方案。 我更改了回形针存储图像的默认路径。
has_attached_file :image,
:url => "/assets/:id/:style/:basename.:extension",
:path =>
":rails_root/app/assets/images/:id/:style/:basename.:extension"
关于ruby-on-rails - Rails 中 image_tag 和回形针的 URL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13961915/