2011-10-23 2 views
0

railscast 134の後に私のレール3.0.1アプリにクリップをインストールしました。私はすべて必要でしたが、私は、ファイルを選択し、自分のフォームに提出押すと、そのページをリロードしRails - f.file_fieldに「選択して投稿した後にファイルが選択されていません」と表示されます

「選ばれた何のファイルは、」これは私のイベントモデルではありませんと言う:

has_attached_file :photo, :styles => { :small => "150x150>" }, 
        :url => "/assets/events/:id/:style/:basename.:extension", 
        :path => ":rails_root/public/assets/events/:id/:style/:basename.:extension" 

    validates_attachment_presence :photo 
    validates_attachment_size :photo, :less_than => 5.megabytes 
    validates_attachment_content_type :photo, :content_type => ['image/jpeg', 
                   'image/png', 
                   'image/jpg'] 

と私のフォーム:

<h1>Edit Event</h1> 
<%= form_for @event, :html => { :multipart => true } do |f| %> 
    <div class="actions"> 
     <%= f.label :name %><br /> 
     <%= f.text_field :name %><br /><br /> 
     <%= f.label :description %><br /> 
     <%= f.text_field :description %><br /><br /> 
     <%= f.label :event_date %><br /> 
     <%= text_field_tag :event_date, @event.event_date.try(:strftime, "%m/%d/%Y at %I:%M%p"), :size=>30 %><br /><br /> 
     <%= f.label :location %><br /> 
     <%= f.text_field :location %><br /><br /> 
     <%= f.file_field :photo %><br /><br /> 
     <%= f.submit "Update" %> 
    </div> 
<% end %> 

はそれほどわかりません。ありがとう!

EDIT:私のイベントモデルでは、いくつかのクリップコード:

has_attached_file :photo, :styles => { :small => "150x150>" }, 
        :url => "/assets/events/:id/:style/:basename.:extension", 
        :path => ":rails_root/public/assets/events/:id/:style/:basename.:extension" 

    validates_attachment_presence :photo 
    validates_attachment_size :photo, :less_than => 5.megabytes 
    validates_attachment_content_type :photo, :content_type => ['image/jpeg', 
                   'image/png', 
                   'image/jpg'] 

と、いくつかのデバッグ出力:ときにそれがfile_fieldの正常な動作です

{"utf8"=>"✓", "_method"=>"put", "authenticity_token"=>"hScfg9tx/4gBOHrtg+u8MB+QeUWS1sKtlcbnzK8YmRI=", "event"=>{"name"=>"Park", "description"=>"Swimming", "location"=>"Golden Gate Park", "photo"=>#<File:/var/folders/lm/5svv8x4s4d50yhw_h05qz7mm0000gn/T/RackMultipart20111023-6938-8xsv50>}, "event_date"=>"10/10/2011 at 02:00PM", "commit"=>"Update", "action"=>"update", "controller"=>"events", "id"=>"3"} 

答えて

0

かなり確信して、それはファイル名のみを表示しますそれを選択すると、データベースに保存されている既存のファイルは表示されません。

あなたが表示され、アクセスアップロードされたコンテンツビューにこのような何かを試してみたい場合は、次の質問が明確ではなかった場合

<%= link_to(image_tag(@event.photo.url(:small)), @event.photo.url) %> 

ホープこれは

+0

申し訳役立ちます - 新しいを作成するとき、これが実際に起こりますイベントを選択したり、画像を選択したり、イベントを編集することができます。アップロードしたファイルを表示させようとはしていません。ファイルをアップロードするだけです。私がファイルを選択して「提出」を押すと、それは実際には行われません。 –

+0

イベントモデルのphoto:写真オブジェクトの「attr_accessible」を持っていますか? attr_accessible:photo –

+0

@ Barlowはい。私は自分のイベントでそれを持っています.rb(イベントモデル)。私は私がそこに持っている他のものを含めるために私の質問を編集しました。 –

関連する問題