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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Q&A

0回答

521閲覧

アクティブストレージに画像を保存したい

souda-takeru

総合スコア4

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

0グッド

0クリップ

投稿2020/11/27 12:58

編集2020/11/28 07:03

イベントを投稿できるアプリを作っているのですが、アクティブストレージに画像が保存されません。saveメソッドの後にparamsを確認するとimagesがpermitted: false>とエラーが起きていました。ストロングパラメーターにはカラムを記載していたのですがなぜか保存できません。
エラーメッセージ

=> <ActionController::Parameters {"authenticity_token"=>"7ay0zrbz8jex56DbPMn7C8m1brf+UbI0PBUiSL+oXt9Om0BAvPM4KBPTKyJ5YTwfyRO+d/8TMkBKedOjk1ge+g==", "events_tag"=><ActionController::Parameters {"name"=>"ああ", "explanation"=>"ああ", "volunteer"=>"あ", "tagname"=>"", "facility_id"=>"2", "scale_id"=>"2", "category_id"=>"2"} permitted: false>, "event"=>{"images"=>[#<ActionDispatch::Http::UploadedFile:0x00007feedaff57f0 @tempfile=#<Tempfile:/var/folders/_1/65g6nnw11m9bjd70qkczwzq80000gn/T/RackMultipart20201128-1516-1n6at44.jpeg>, @original_filename="ダウンロード.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"event[images][]\"; filename=\"\xE3\x82\xBF\xE3\x82\x99\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\xAD\xE3\x83\xBC\xE3\x83\x88\xE3\x82\x99.jpeg\"\r\nContent-Type: image/jpeg\r\n">]}, "commit"=>"保存する", "controller"=>"events", "action"=>"create"} permitted: false>

event_model

ruby

1class Event < ApplicationRecord 2 extend ActiveHash::Associations::ActiveRecordExtensions 3 belongs_to :user 4 has_many_attached :images 5 belongs_to :facility 6 belongs_to :scale 7 belongs_to :category 8 has_many :event_tag_relations, dependent: :destroy 9 has_many :tags, through: :event_tag_relations, dependent: :destroy 10end 11

events_controller

1```ruby 2class EventsController < ApplicationController 3 def index 4 @events = Event.all 5 end 6 7 def new 8 @event = EventsTag.new 9 end 10 11 def create 12 13 @event = EventsTag.new(event_params) 14 if @event.valid? 15 16 @event.save 17 # binding.pry 18 redirect_to root_path 19 else 20 render :new 21 end 22 end 23 24 def search 25 return nil if params[:keyword] == "" 26 tag = Tag.where(['tagname LIKE ?', "%#{params[:keyword]}%"] ) 27 render json:{ keyword: tag } 28 end 29 30 def show 31 @event = Event.find(params[:id]) 32 end 33 34 def edit 35 @event = Event.find(params[:id]) 36 unless @event.user_id == current_user.id 37 redirect_to action: :index 38 end 39 end 40 41 def update 42 event = Event.find(params[:id]) 43 if event.update(event_params) 44 redirect_to event_path 45 else 46 render :show 47 end 48 end 49 50 def destroy 51 @event = Event.find(params[:id]) 52 if @event.destroy 53 redirect_to root_path 54 end 55 end 56 57 private 58 59 def event_params 60 params.require(:events_tag).permit(:name, :explanation, :facility_id, :scale_id, :category_id, :volunteer, :tagname, images: []).merge(user_id: current_user.id) 61 end

new.html

1```ruby 2<div class="field"> 3 <label class="label">画像</label> 4 <%= f.file_field :images, name: 'event[images][]', id: 'event_image', class:"select-box-image" %> 5 <div id="image-list"></div> 6 </div> 7```<%= f.file_field :images, name: 'event[images][]を 8<%= f.file_field :images, name: 'events_tag[images][]に変更後のエラー 9```ここに言語を入力 10ActiveModel::UnknownAttributeError in EventsController#create 11unknown attribute 'images' for EventsTag. 12Extracted source (around line #11): 139 1410 1511 1612 1713 1814 19 20 def create 21 22 @event = EventsTag.new(event_params) 23 binding.pry 24 if @event.valid? 25 #binding.pry 26

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

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

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

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

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

m.ts10806

2020/11/28 06:51

あと一応、nameをevent[images][]とされていますが、どこで取得できているつもりなのかも補足願います。
souda-takeru

2020/11/28 07:00

ご指摘ありがとうございます。newアクションで生成したEventsTageモデルにimagesを配列で付与する為記載しました。しかし今回はEventsTagでインスタンスを生成したのでevents_tag[images][]に直しました。しかしimagesが定義されていないという別のエラーが発生しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問