2012-05-09 9 views
3

モデルに含まれている検証コードからエラーメッセージが表示されます。私のシステムでは、ペーパークリップを使ってヘルプ記事に多くのファイルを添付しています。ファイルをアップロードすることができます。Rails Paperclip未定義のメソッド `validates_attachment 'はありますか?

ここに私のモデルです:

class HelpAttachment < ActiveRecord::Base 

    belongs_to :help 

    has_attached_file :attachment, 
        :styles => { :medium => "300x300>", 
           :thumb => "100x100>" } 

    validates_attachment :attachment, :content_type => [ 'image/png', 'image/jpg', 'image/gif', "application/pdf", 
            'video/mpeg', 'video/quicktime', 'video/x-ms-asf', 'video/x-msvideo', 
            'video/x-flv' ] 


end 

そして、これは私が試してみて、新しい添付送信したときに私が取得エラーメッセージです:私はvalidates_attachmentラインのすべての作品を削除した場合

NoMethodError in HelpsController#create 

undefined method `validates_attachment' for #<Class:0x00000005581498> 

を、ちょうどなしファイル検証。

gemfileにgem 'paperclip'があり、私は開発モードで動作しています。

アイデア?

+0

これはあなたのプロジェクトRuby on Rails 3ですか?また、使用しているクリップのバージョンは? –

+0

こんにちは、私はRails 3.1.3を使用しています。私はGemfileのレール宝石用のバージョンを指定していないので、デフォルトでは最新のバージョンが使用可能です。 – Noz

答えて

4

github of paperclipによると、「新しいスタイル」のバリデータは、次のようになります。これはペーパークリップ3.0以降に適用されます

validates :attachment, :attachment_content_type => { :content_type => ['image/png', 'image/jpg']} 
+1

こんにちはベンジャミン、応答のおかげで。私はこれを試しましたが、新しいエラーが発生しました: '不明なバリデータ: 'AttachmentContentTypeValidator''私はリンクを確認します。 – Noz

+0

私はそれがあなたが古いバージョンのペーパークリップにいることを意味していると思います –

+0

うわー、ちょうど私のGemfile.lockファイルを見て、それはpaperclip(2.4.5)..... Jeezと言います...私はあなたが手作業で宝石版を指定してそのような最新版を入手しなければならないことを知らなかった...これは私が試してアップグレードする場合、私はちょうどそれがハハ知っている私のアプリを台無しにするつもりです。 – Noz

関連する問題