2011-07-16 8 views
1

を保存しません、私はRailsのプラグイン「クリップ」と私の最初のステップを作っています、そのためRailsCastの#134見守っ:http://railscasts.com/episodes/134-paperclipレールクリップ:アップロードされたファイルは

を私はレールを実行していることを除いて、everthing同じをしました3.0.9をインストールし、Gemfileに追加することでpaperclip(2.3.15)をインストールしました。

キャストの3時まで、すべて正常に機能します。しかし、ショーページをリロードした後、アップロードされた画像の代わりに「欠落した」画像が表示されます。また、 'public'ディレクトリの中には何も新規作成されていません。

ヒント

アップデート:ここに関連するコード要求されたよう:

Gemfile: 
… 
gem 'paperclip' 
gem 'rails', '3.0.9' 
… 

config/routes.rb: 
Foobar::Application.routes.draw do 
    resources :books 
end 

app/models/book.rb: 
class Book < ActiveRecord::Base 
    has_attached_file :cover 
    attr_accessor :cover_file_name 
end 

app/controllers/books_controller.rb: 
# nothing changed here after scaffolding 

app/views/books/_form.html.erb: 
<%= form_for(@book, :html => { :multipart => true}) do |f| %> 
… 
<div class="field"> 
    <%= f.file_field :cover %> 
</div> 

app/views/books/show.html.erb: 
… 
<%= image_tag «book.cover.url %> 
… 

db/migrate/..._create_books.rb: 
class CreateBooks < ActiveRecord::Migration 
    def self.up 
    create_table :books do |t| 
     t.string :name 

     t.timestamps 
    end 
    end 

    def self.down 
    drop_table :books 
    end 
end 

db/migrate/..._ad_attachment_cover_to_book.rb: 
class AddAttachmentCoverToBook < ActiveRecord::Migration 
    def self.up 
    add_column :books, :cover_file_name, :string 
    add_column :books, :cover_content_type, :string 
    add_column :books, :cover_file_size, :integer 
    add_column :books, :cover_updated_at, :datetime 
    end 

    def self.down 
    remove_column :books, :cover_file_name 
    remove_column :books, :cover_content_type 
    remove_column :books, :cover_file_size 
    remove_column :books, :cover_updated_at 
    end 
end 

私が起動し、「ブック」

+1

あなたは何をログファイルと言うのですか? –

+0

':html => {:multipart => true}'をフォームに追加しましたか? – apneadiving

+0

はい、ペーパークリップのインストール手順に従って、マルチパートを追加します。 – dennis

答えて

2

足場を持った後、私はattr_accessor :cover_file_nameのための競合を作成することを考えて「レールは、ペーパークリップのブックカバーを生成します」同じ名前の表の列。その行を削除してみてください。何か問題を引き起こすはずのものを見つけることができません。

+0

ありがとうございます。その間に、私もそれを見つけました。もっと深く掘り下げているうちに、私の問題はレイヤー8の上にあることがわかりました:P rake db:paperclipをスキャフォールディングした後にマイグレーションしたようです。奇妙なことが私に2回起こった(私の普通のレールアプリで、この記事のために作ったダミーのアプリで)。 * douh * – dennis

+0

Hehe、掘り出し始めると起こる可能性があります:) – DanneManne

+0

と別の追加:私の定期的なレールアプリではもう少し複雑になった別のものがありました。私はプラグインの開発とcancanを使用します。そのため私のモデルには 'attr_accessible'があります。これまでは、has_attached_fileの添付ファイルフィールドをそのリストに追加する必要があることを理解していませんでした。今すぐ使える* phew * :) – dennis

-1

私はすでに、このエラーが表示されたときに解決策を与えたと思います。これを入力する権限がカバー列にないため、params_articleの記事のコントローラで解決されていますそれに追加する私にコラムカバーに私はこのように滞在

Def articulo_params params.require (: article) .permit (: title,: body,: cover) 
End 
関連する問題