2013-05-07 4 views
4

Я искал способ просто загрузить фотографии в базу данных и отобразить фотографии на странице. Я пробую несущую волну. Он правильно загружает фотографию, но когда она появляется, чтобы отобразить изображение, все, что он делает, это указать местоположение (url).Не отображается изображение с Carrierwave

Вот загрузчиком

class Image < ActiveRecord::Base 
attr_accessible :image, :title 
    mount_uploader :image, ImageUploader 
end 

Здесь форма используется для загрузки файла

<%= form_for @image, :html => {:multipart => true} do |f| %> 
    <% if @image.errors.any? %> 
    <div id="error_explanation"> 
     <h2><%= pluralize(@image.errors.count, "error") %> prohibited this image from being saved:</h2> 

     <ul> 
     <% @image.errors.full_messages.each do |msg| %> 
     <li><%= msg %></li> 
     <% end %> 
     </ul> 
    </div> 
    <% end %> 

    <div class="field"> 
    <%= f.label :image %><br /> 
    <%= f.file_field :image %> 
    </div> 
    <div class="field"> 
    <%= f.label :title %><br /> 
    <%= f.text_field :title %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

Это, чтобы отобразить изображение

<p id="notice"><%= notice %></p> 

<p> 
    <b>Image:</b> 
    <%= @image.image_url.to_s %> 
</p> 

<p> 
    <b>Title:</b> 
    <%= @image.title %> 
</p> 


<%= link_to 'Back', images_path %> 

Это то, что печатает:

Изображение: /uploads/image/image/2/946612_524939910875157_1455921715_n.jpg

Название: Плакат

+0

изменение '<% = @ image.image_url.to_s%>' в '<% = IMAGE_TAG @ image.image_url.to_s%>' –

ответ

4

для отображения изображения, попробуйте это.

<%= image_tag @image.image_url.to_s if @image.image_url.present? %> 
+0

Вы можете использовать непосредственно '@ image.image_url', нет необходимости for '" # {@ image.image_url} "' –

+0

yes Anezio Campos вы правы. Обновил мой ответ. :) – rony36

+0

Спасибо, оба :) это сработало. Очень ценится – jordankoal

Смежные вопросы