2013-05-07 98 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%>' – 2013-05-07 10:36:05

回答

4

显示此图像,试试这个。

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

你可以直接使用'@ image.image_url',有没有必要对于'“#{@ image.image_url}”' – 2013-05-07 11:14:02

+0

是的Anezio Campos你是对的。已经更新了我的答案。 :) – rony36 2013-05-07 11:15:31

+0

谢谢两个:)它的工作。非常感谢 – jordankoal 2013-05-07 13:49:02