Я пытаюсь следовать вместе с Райаном Бейтсом (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
. Я установил 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 'для # Class: 0x0000010248e560> `
Это последнее сообщение об ошибке удивило меня, потому что когда я сделал rake routes
, он показал мне этот URL
image GET /images/:id(.:format) {:action=>"show", :controller=>"images"}
Это путь к файлу для загруженного изображения.
/uploads/user/image/3/cadman.png
но я не могу понять, как отобразить его с помощью метода Rails (т.е. не только img src)