Използвам кламер за качване и показване на изображения в моето rails приложение.
Изглежда всичко работи добре, докато не използвах phusion passenger, за да разположа приложението си на apache.
В моя view.html.erb използвам кода по-долу, за да покажа моите изображения:
<% for image in @submission.images %>
<p>
<%= image_tag(image.data(:thumb)) %>
</p>
<% end %>
Код за image.rb:
has_attached_file :data, :path => "/export/data/rails/images/:sub_id/:style/:basename.:extension",
:url => "/export/data/rails/images/:sub_id/:style/:basename.:extension",
apache httpd.conf:
<VirtualHost *:80>
ServberName duck:80
DocumentRoot /opt/html
RailsEnv test
RailsBaseUri /submission
<Directory "/opt/html/submission/">
Options -Multiviews
AllowOverride all
</Directory>
</VirtualHost>
Когато качвам изображения, изображенията се съхраняват на правилното място, т.е. „/export/data/rails/images/“.
Според мен обаче, html.erb, изображенията не се показват. Когато преглеждам изходния код за html страницата, забелязвам, че в етикета img src изпращането е добавено преди правилния път на изображението--
<img alt="sub1" src="/submission/export/data/rails/images/14421/thumb/sub1.jpg">
Ще бъда благодарен, ако някой може да ми помогне да разбера какво не е наред в горния код или дали пропускам нещо.
Благодаря много