2010-03-28 91 views
0

Ruby on Rails的照片上傳問題

軌2.3.5版

我學習軌和我遇到的一個問題。

我正在從railscasts教程做一些嵌套形式。我將文本區域更改爲數據字段以上傳照片,並且一切正常。

現在我必須顯示上傳的圖片,我根本無法做到這一點。我試過了我在網上可以找到的所有東西,但都沒有成功。

問題

我有文章控制器處理文章CRUD。 裏面的文章新形式有嵌套表單用於上傳圖片。

文章控制器

def code_image 
     @image_data = Photo.find(params[:id]) 
     @image = @image_data.binary_data 
     send_data(@image, :type => @image_data.content_type, 
         :filename => @image_data.filename, 
         :disposition => 'inline') 
    end 

照片模式

def image_file=(input_data) 
self.filename = input_data.original_filename 
self.content_type = input_data.content_type.chomp 
self.binary_data = input_data.read 
end 

文章/ show.html.erb

<%=h @article.title %> 
<%=h @article.body %> 
<% for photos in @article.photos %> 
<%= image_tag(url_for({:action => 'code_image', 
:id => @article.photos.id})) -%> 
<% end %> 

文章/ _formnew.html.erb

<% form_for (:article, @article, 
:url => {:action=>'create'}, :html=>   
{:multipart=>true}) do |f| %> 
<%= f.label :title %><br /> 
<%= f.text_field :title %><br /><br /> 

<%= f.label :body %><br /> 
<%= f.text_area :body, :style => 'width: 600px;' %><br /><br /> 

<% f.fields_for :photos do |builder|%> 

<%= builder.label :content, "Photo"%><br /> 
<%= builder.file_field :image_file %><br /> 

<% end %> 
<br /> 
<%= f.submit "Create" %> 

感謝

+0

您是否可以通過轉到路由到您的code_image操作的URL直接查看圖像?使用Rails控制檯查看時,您的照片記錄是否完​​整/正確?當你在你的數據庫的照片表中查看時怎麼辦?回答這些問題應該可以幫助你找出問題所在。 – 2010-03-28 23:48:16

回答