ruby-on-rails - rails : how to display image from upload

标签 ruby-on-rails image carrierwave

我正在尝试跟随 Ryan Bates CarrierWave Rails Cast http://railscasts.com/episodes/253-carrierwave-file-uploads ,但自从他做到了,有些事情似乎发生了变化。

瑞安在绘画课上安装载波

class Painting < ActiveRecord::Base
  attr_accessible :gallery_id, :name, :image
  mount_uploader :image, ImageUploader
end

然后显示图像他这样做
<%= image_tag painting.image_url%>

我假设 CarrierWave 提供了 painting方法。我在 User 类上安装了 Carrier Wave
class User < ActiveRecord::Base

    attr_accessible :name, :email, :image
    mount_uploader :image, ImageUploader
end

当我尝试这样做时
 <%= image_tag user.image_url %>

我收到了 "undefined local variable or method for 'user'"错误信息

当我尝试这个时
<%= image_tag User.image_url %>

我收到了 undefined method image_url' for # Class:0x0000010248e560>`

后一条错误消息让我感到惊讶,因为当我这样做时 rake routes它向我展示了这个网址
image GET    /images/:id(.:format)      {:action=>"show", :controller=>"images"}

这是上传图片的文件路径
/uploads/user/image/3/cadman.png

但我不知道如何使用 Rails 方法显示它(即不仅仅是 img src)

最佳答案

使用实例变量 @user而不是局部变量(即未定义):

<%= image_tag @user.image_url%>

关于ruby-on-rails - rails : how to display image from upload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864957/

相关文章:

ruby-on-rails - 在 Ruby 中从 XML 字符串创建对象

jquery - 在 HTML 中使图像内联( block )

html - 带有图案叠加的整页背景图像

ruby-on-rails - Carrierwave:如何验证图像是否已附加? (上传或remote_url)

ruby-on-rails - Rails 3 的错误捕获、监控和通知?

ruby-on-rails - Ruby on Rails 的最佳托管(截至 2012 年)

ruby-on-rails - Rspec 方法创建错误

asp.net - 如何将文本附加到数据绑定(bind)字段?

ruby-on-rails - 调用 Object#destroy 时 CarrierWave 不会删除 Assets ?

ruby-on-rails - 使用 Heroku 显示存储在 Amazon S3 上的图像