質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1450閲覧

found unpermitted parameter: imageを解消したい

marutama_giant

総合スコア16

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1グッド

0クリップ

投稿2017/08/31 14:31

Carrierwaveで画像を複数アップロードするこれをみながら複数画像登録を試みていたのですが、ずっとUnpermited Paramater: imageとなり、カラムにimageを入れることができません・

ruby

1 <%= f.fields_for :thumbnails do |a| %> 2 <%= a.file_field :image, :multiple => true %> 3 <% end %>

こちらのビューで、入れ子として作成したthumbnailsを使っています。

ruby

1 def create 2 @micropost = current_user.microposts.build(micropost_params) 3 @micropost.thumbnails.build 4 if @micropost.save 5 flash[:success] = "Micropost created!" 6 redirect_to root_url 7 else 8 @feed_items = [] 9 render 'sessions/new' 10 end 11 end 12 13 def micropost_params 14 params.require(:micropost).permit(:text, :image, thumbnails_attributes: [:micropost_id, :image]) 15 end

ここではちゃんと、pramaterにthumbnails_attributes: [:micropost_id, :image]設定してあるはずなのに何度いろいろ試行錯誤してもこのエラーになります。どうしてでしょうか?

marigold_24👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

modelのアソシエーションの状態を確認するのと、実際に飛んできているパラメータを確認するといいと思います。
それと

params.require(:micropost).permit(:text, :image, thumbnails_attributes: [:micropost_id, :image])

それから、:textの次の:imageは関係ないですか?

投稿2017/09/02 01:43

Yuinyan

総合スコア312

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marutama_giant

2017/09/03 02:32

コメントありがとうございます。image以外のカラムは保存されていて「micropost_id」など、なぜかimgaeだけが入ってきません。実際に飛んできているパラメーターは下記です! :textの次の:imageは関係ありません。unfoundと出てくるので入れてみたのですが。 {"image"=> [#<ActionDispatch::Http::UploadedFile:0x007fc3cff18458 @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"micropost[thumbnails_attributes][0][image][]\"; filename=\"image.jpg\"\r\nContent-Type: image/jpeg\r\n", @original_filename="image.jpg", @tempfile=#<File:/var/folders/f9/yd78fhdx6zdb6dzc4zxn8sqh0000gn/T/RackMultipart20170903-2021-3kugdx.jpg>>]}
Yuinyan

2017/09/04 00:40

`name=\"micropost[thumbnails_attributes][0][image][]` ここから推測するに {:image =>[]} と、StrongParameterを変えると良いかもしれません。ただ、unpermitted parameterというメッセージが出ていないのであれば、StrongParameter自体はあっているのかもしれませんが、、、。不正確で申し訳ありません。
marutama_giant

2017/09/09 16:45

Yuninyanさん、ありがとうございます。 TypeError (no implicit conversion of nil into String): 上記のエラーが出てしまいました。。。 thumbnails_attributes: {:image =>[]} この記載間違って居ますでしょうか。。
marigold_24

2020/09/18 18:21

本件、私も全く同様の事象がおきており困っております・・ もし、解決していて解決策をご存知であれば教えていただけますと幸いです・・!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問