Rails 4のPaperclipアップロードで問題が発生しました - ForbiddenAttributesError(強力なパラメータ検証)で失敗しました。最新のクリップと4つの宝石を用意してください。Rails 4のペーパークリップ - 強いパラメータ禁止された属性エラー
私はモデルで「アップロード」添付ファイルでモデルの「イメージ」を持っている:
has_attached_file :upload, :styles => { :review => ["1000x1200>", :png], :thumb => ["100x100>", :png]}, :default_url => "/images/:style/missing.png"
画像モデルは、足場を使用して作成された、と私は、クリップの移行を追加しました。部分的なフォームは
f.file_field :upload
フォームがアップロードを含む画像のparamで、クリップのparamsの典型的なセットと思われるものを生成を使用するように更新されました。私はまた、イメージモデルでtransaction_idを渡しているので、許可する必要があります。しかし、それはイメージとトランザクションIDです。
私は私のポストをホワイトリストに登録して、私のコントローラで次のように書くことができると期待 - しかし、それは失敗しました:
def image_params
params.require(:image).permit(:transaction_id, :upload)
end
だから私はより明確になった - しかし、それはあまりにも失敗しました:
def image_params
params.require(:image).permit(:transaction_id, :upload => [:tempfile, :original_filename, :content_type, :headers])
end
ForbiddenAttributesErrorが開発環境で失敗していることをRails 4が私に見せてくれないことが少し不満です。エラーを表示するはずですが、開発を容易にする良いパッチになります。それとも誰もが私が紛失しているものを手に入れているのかもしれません!助けてくれてありがとう。
これを機能させるには、何をparams.permit()に入れたのですか? – adamyonk
私の場合、私はペーパークリップの添付ファイル 'image_file'でモデル "Image"を持っていました。 paperclipの移行では、image_file_file_nameなどのようにdb内にいくつかの列が作成されますが、params.require(:image).permit(:image_file)だけでクリップを魔法に使うことができます。 – Eskim0
ありがとう!それは直感的ではありませんが、それは動作します:) – duhaime