CarrierwaveをRails 4に使用するアプリケーションを移植していますが、強力なパラメータに問題があります。私はここにアップロードした画像を渡す方法ですRails 4、Strong Parameters、およびCarrierwaveを使用したファイルアップロード
accepts_nested_attributes_for :photos
でモデルを持っている:私はphotos_attributes
を受け入れるパラメータを記述する方法を見つけ出すように見えることはできませんしかし
{
# ...
"model"=>
{
# ...
"photos_attributes"=>
{
"1362752177921"=>
{
"image"=>"test.jpg",
}
}
}
}
。
省は、SQLに表示されないと、これは第二の問題である前に作成された私は.permit(photos_attributes: [])
を試してみましたが、私はpermit!
を使用する場合、それは単に、それらをスキップし、uuid
:強力なパラメータについて
photos.uuid may not be NULL: INSERT INTO "photos" ("created_at", "model_id", "image", "title", "updated_at") VALUES (?, ?, ?, ?, ?)
ドキュメントがありますここには欠けており、私はどのように進むべきかも分かりません。
更新 これは、ネストされた属性で働いていた:
params.permit(..., :photos_attributes => ['id', 'title', 'image', '_destroy'])
しかしCarrierwaveまたはネストされたフォームのいずれかが最初のRails 4のために更新する必要があるように見えます。常に空の画像を保存しようとします。 (strong_paramsなし)同じコードこれは、ネストされた属性で働いていたのRails 3に