2011-09-10 12 views
0

私は現在、クリップを使って自分のサイトにアイテムの画像をアップロードしています。私はちょうどhttps://github.com/thoughtbot/paperclipと私のペーパークリップを設定しました。自分のサイトに画像をアップロードしましたが、データベースには何も保存されません。私のパブリックフォルダに画像があります。私のitem.rbで私のconfigにペーパークリップの画像がアップロードされていませんか?

Paperclip.options[:command_path] = "/opt/local/bin/" 

class Item < ActiveRecord::Base 
    attr_accessible :photo_file_name, :photo_content_type, :photo_file_size, 
        :photo_updated_at 
    has_attached_file :photo 
end 

class AddPhotoColumnToItem < ActiveRecord::Migration 
    def self.up 
    add_column :items, :photo_file_name, :string 
    add_column :items, :photo_content_type, :string 
    add_column :items, :photo_file_size, :integer 
    add_column :items, :photo_updated_at, :datetime 
    end 
... 
end 

アイテム/ _form.html.erb:

<%= form_for @item, :html => { :multipart => true } do |f| %> 

    <%= f.error_messages %> 
    <p> 
    <%= f.file_field :photo %> 
    </p> 

    <p><%= f.submit %></p> 
<% end %> 

、最後にitems_controller.rb(私はカンカンを使用)

class ItemsController < ApplicationController 

    load_and_authorize_resource 

    def edit 
    end 

    def update 
    if @item.update_attributes(params[:item]) 
     redirect_to @item, :notice => "Successfully updated item." 
    else 
     render :action => 'edit' 
    end 
    end 
end 

画像が実際にアップロードされたことをFirebugで確認しました。私はパラメータを入れてもらえます:

Parameters: {"utf8"=>"✓", authenticity_token"=>"XB0ptrmoxqRIakUB4YCBmbpYm2Pjex8KNm9g0pscpgo=", 
"item"=>{"photo"=>#<ActionDispatch::Http::UploadedFile:0x007f9c5460ef80 @original_filename="lindsay-lohan.jpg", 
@content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"item[photo]\"; filename=\"lindsay-lohan-boobs.jpg\"\r\nContent-Type: image/jpeg\r\n", @tempfile=#<File:/var/folders/14/gbn6ww_d1fs0lrcw22w50xdr0000gn/T/RackMultipart20110909-26576-auv9vl>>}, "commit"=>"Update Item", "id"=>"1"} 

これはなぜ動作しないのでしょうか?

答えて

2

attr_accessible私はそのを残しちょうどattr_accessible :photo

+0

を信じることはできませんしなければならないと思います! – disappearedng

+0

それは価値があるので、何らかの理由でPaperclipに 'attr_accessible'を使う必要はありませんでした。 – Eric

関連する問題