2012-03-19 6 views
3

ムービーに複数のファイルアセットをアップロードしようとしています。私もrails g paperclip movie assetた走ってきたアセットモデルが欠落しています。ペーパークリップ付きのattr_accessorがありません。

class Movie < ActiveRecord::Base 
    belongs_to :user 

    has_many :assets 
    accepts_nested_attributes_for :assets 

    validates :title, presence: true 

    default_scope order: 'movies.created_at DESC' 
end 

asset.rbモデル

class Asset < ActiveRecord::Base 
    belongs_to :movie 

    has_attached_file :asset 
end 

movie.rbモデル:私はエラーAsset model missing required attr_accessor for 'asset_file_name'を受け続けると私は確信して、なぜ、ここに私のコードではありませんよ次のマイグレーションファイルを生成しました

class AddAttachmentAssetToMovie < ActiveRecord::Migration 
    def self.up 
    add_column :movies, :asset_file_name, :string 
    add_column :movies, :asset_content_type, :string 
    add_column :movies, :asset_file_size, :integer 
    add_column :movies, :asset_updated_at, :datetime 
    end 

    def self.down 
    remove_column :movies, :asset_file_name 
    remove_column :movies, :asset_content_type 
    remove_column :movies, :asset_file_size 
    remove_column :movies, :asset_updated_at 
    end 
end 

ここで私の "creat私は、資産モデルを生成したときから来た電子資産」の移行:

class CreateAssets < ActiveRecord::Migration 
    def change 
    create_table :assets do |t| 
    t.string :asset_file_name 
    t.integer :asset_file_size 
    t.string :asset_content_type 
    t.datetime :asset_updated_at 
    t.text :asset_description 
    t.integer :movie_id 

    t.timestamps 
    end 
end 

は、任意のiに誤差Asset model missing required attr_accessor for 'asset_file_name'を受けることになる理由をお勧めすることはできますか?

答えて

8

新しいバージョンのRailsは、質量割り当てに関して(正しく)編集的です。アセットモデルにattr_accessible :asset_file_nameを追加して、リクエストで外部パラメータ入力を受け入れるデータベースが正常であることを宣言します。

は中 config.active_record.whitelist_attributes = trueコメントを外し、より安全であるためにあなたの application.rb(そして、すべてをテストする)あなたが考えることを余儀なくされているように、「ええ、それは大丈夫ですし、悪いものは何も起こりません」ユーザーが更新してみましょう任意の属性について。

+0

こんにちはtharrisonですが、これはこれに当てはまりましたが、すでに試してみましたが、同じことが起こります。私は本当にこれがどこから来ているのか分かりません。 – JeffC

+0

ありがとうございましたハリソン、あなたは間違った枝を持っていました。私が働いていて、それが古いレールであることに気付かなかったのです。 – JeffC

関連する問題