現在railsで簡単な図鑑アプリを作っており、画像のアップロード機能のためにcarrierwavaを実装したいのですが上手く行きません。
####現状
【CarrierWave】Railsで画像をアップロードするカンタンな方法は?
上のurlを参考にして
- Whiskyテーブルに写真用のpictureカラムの追加
- gemファイルでcarrierwaveのインストール
- アップローダークラスを追加し、Whiskyモデルにコード記入
model
1class Whisky < ApplicationRecord 2 mount_uploader :picture, PictureUploader 3end
view1
1 <%= f.label "画像をアップロード" %><br><%= f.file_field :picture %>
view2
1<% if @whisky.picture? %> 2 <%= picture_tag @whisky.picture.url %> 3<% end %>
以上を行った上でrails s
を実行したところ
ActionView::Template::Error (undefined local variable or method `f' for #<#<Class:0x000056379acf0008>:0x00007f2bd09fcba0>): 5: <%= f.label "画像をアップロード" %><br><%= f.file_field :picture %> 6: 7: <% if @whisky.picture? %> 8: <%= picture_tag @whisky.picture.url %> app/views/edit_pages/edit_individual.html.erb:5:in `_app_views_edit_pages_edit_individual_html_erb__2878932348955493962_69913080228360'
のエラーメッセージが出されました。
メッセージからファイルの5行目のfがどこにも定義されていないことが原因と分かるのですが、どこに記述すればよいのでしょうか。
carrierwaveのリファレンスやrailstutorialを見てもよく分からず質問させていただきました。ご回答よろしくお願いいたします。
###補足情報
開発環境
os:ubuntu
言語:Rails 5.2.3
model:Whisky
table:whiskies
column:picture
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/12 12:48
2019/09/12 13:21
2019/09/16 04:59