carrierwaveを使って画像をアップロードしようとしたのですが、
paramsでファイル名を取得しているのは間違いないのですがDBがnullになってしまって保存できていません。
問題点のわかる方がいたら教えていただきたいです。
gemfile
Gemfile
1 2gem 'carrierwave' 3
ターミナル
rails g migration AddImageToQuestions image:string rake db:migrate rails g uploader image
app/models/question.rb
app/models/question.rb
1 2mount_uploader :image, ImageUploader 3
app/views/questions/new.html.erb
app/views/questions/new.html.erb
1 2<%= form_tag('/questions', method: :post) do %> 3~途中省略~ 4 <label>写真を添付する</label> 5<%= file_field_tag 'image' %> 6 <div class="createbtn-form"> 7 <input class="btn btn-info" id="formsubmit" type="submit" value="質問する"> 8 </div> 9 <% end %> 10
app/controller/questions_controller.rb
app/controller/questions_controller.rb
1 2def create 3 Question.create(~途中省略~, image: params[:image]) 4 end 5
ここまででおそらく本来であればuploadした画像が保存されると思うのですがcontorollerでbinding.pryをつかってparams[:image]の中身が入っていることは確認できたのですがDBは空になってしまっています。
現在はS3を使っておらずpublicに保存されるはずなのですがそちらも空になっています
public内は
public/img
public/404.html
public/422.html
public/500.html
public/robots.txt
がありimgの中はサイト内で使っている画像が入っているだけでuploadされたものは入っていません。
rails 4.2.5.1
carrierwave 0.11.2を使っています。
些細な情報でも構いませんよろしくお願いします
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。