Изображение не отображается, несмотря на то, что оно жестко закодировано - Rails

Rails 4.1
Ruby 2.1.1

У меня есть следующее, на мой взгляд:

<% img_loc = "#{Rails.root}/app/assets/images/cw/agent/avatar/#{agent.id.to_s}/thumb_#{a.img_name}"%>
<td><%= image_tag "#{img_loc}" %></td>

Когда я запускаю это на своем рабочем сервере, изображение не отображается. Мой производственный журнал показывает следующее:

INFO -- : Started GET "/home/dnc/app/assets/images/cw/agent/avatar/11/thumb_myimage.jpg"
FATAL -- : 
ActionController::RoutingError (No route matches [GET] "/home/dnc/app/assets/images/cw/agent/avatar/11/thumb_myimage.jpg"):   

Но когда я проверяю, файл /home/dnc/app/assets/images/cw/agent/avatar/11/thumb_myimage.jpg существует. Любые идеи?


person EastsideDev    schedule 11.07.2014    source источник
comment
попробуйте image_tag /cw/agent/avatar/#{agent.id.to_s}/thumb_#{a.img_name}   -  person Rahul Singh    schedule 11.07.2014
comment
Просто заметка. Нет необходимости звонить to_s на #{agent.id.to_s}.   -  person Damien Roche    schedule 11.07.2014
comment
Дэмиен: спасибо за подсказку. Рахул: это не сработает, / даст те же результаты. На самом деле я пробовал image_tag cw/agent/avatar/#{agent.id.to_s}/thumb_#{a.img_name}, и это не сработало. Оказывается, я не очистил кеш браузера. Когда я это сделал, это работало нормально.   -  person EastsideDev    schedule 11.07.2014
comment
Попробуйте: <%= image_tag "/cw/agent/avatar/11/thumb_myimage.jpg" %>   -  person Surya    schedule 11.07.2014


Ответы (1)


Помощники пути

Возникает вопрос, почему вы не используете asset path helpers для предоставления вы получаете доступ к каталогу images:

<% img_loc = image_path("cw/agent/avatar/11/thumb_myimage.jpg") %>

--

Тег изображения

В качестве альтернативы и, возможно, более уместно, вам следует рассмотреть использование image_tag с относительным путем, так как это загрузит нужное вам изображение без необходимости его жесткого кодирования:

<%= image_tag "cw/agent/avatar/11/thumb_myimage.jpg" %>

введите здесь описание изображения


Я понимаю ваши рассуждения (вы хотите получить прямой доступ к изображениям), но я не понимаю вашего метода. Rails имеет очень надежную систему относительных путей, которая должна дать вам гибкий доступ к изображениям по мере необходимости.

person Richard Peck    schedule 11.07.2014
comment
Я использую ‹%= image_tag cw/agent/avatar/11/thumb_myimage.jpg %›, я не обновлял и думал, что это не работает. См. мою заметку выше в ответ на комментарий Рахула. Спасибо за подсказку о помощниках по пути активов - person EastsideDev; 11.07.2014