解決・実現したいこと
初心者です。
ご指導ご鞭撻願います。
現在Ruby on Railsにて釣った魚の情報を投稿できるアプリを作成しています。
new.html.erbにform_withを記述していた時に下記のエラーが発生しました。
発生している問題・エラーメッセージ
NoMethodError in Informations#new undefined method `information_index_path' for #<#<Class:0x00007faaa23fbbd8>:0x00007faaa23f81e0> Did you mean? informations_path <div class="items-sell-main"> <h2 class="items-sell-title">釣果を入力</h2> <%= form_with model: @information, local: true do |f| %>
該当のソースコード
information_controller.rb
1class InformationsController < ApplicationController 2 before_action :authenticate_user!, except: [:index] 3 4 def index 5 @informations = Information.all.order("created_at DESC") 6 end 7 8 def new 9 @information = Information.new 10 end 11 12 private 13 14 def information_params 15 params.require(:information).permit(:image, :title, :text, :date_id, :fish, :size, :weight, :number, :prefecture_id, :area).merge(user_id: current_user.id) 16 end 17end
routes.rb
1Rails.application.routes.draw do 2 devise_for :users 3 root to: 'informations#index' 4 resources :informations, only: [:index, :new] 5 6end
<div class="items-sell-contents"> <div class="items-sell-main"> <h2 class="items-sell-title">釣果を入力</h2> <%= form_with model: @information, local: true do |f| %> <%# インスタンスを渡して、エラー発生時にメッセージが表示されるようにしましょう。%> <%# render 'shared/error_messages', model: f.object %> <%# //インスタンスを渡して、エラー発生時にメッセージが表示されるようにしましょう。%> <div class="img-upload"> <div class="weight-bold-text"> 画像 <span class="indispensable">必須</span> </div> <div class="click-upload"> <p> クリックしてファイルをアップロード </p> <%= f.file_field :image, id:"item-image" %> </div> </div> <div class="new-items"> <div class="weight-bold-text"> 釣果情報 <span class="indispensable">必須</span> </div> <%= f.text_area :title, class:"items-text", id:"item-name", placeholder:"釣果情報(必須 40文字まで) 例(タイが釣れました。)", maxlength:"40" %> <div class="items-explain"> <div class="weight-bold-text"> 釣果情報の説明 <span class="any">任意</span> </div> <%= f.text_area :text, class:"items-text", id:"item-info", placeholder:"釣果情報の説明(任意 1,000文字まで) 例(休日に堤防で釣りをしていたところタイが釣れました。)" ,rows:"7" ,maxlength:"1000" %> </div> </div> <div class="items-detail"> <div class="fish-information">釣果データ</div> <div class="form"> <div class="weight-bold-text"> 釣れた日 <span class="indispensable">必須</span> </div> <div class='input-date_id'> <%= f.datetime_field :date_id, class:"items-data_id", id:"item-name" %> </div> <div class="weight-bold-text"> 魚種 <span class="indispensable">必須</span> </div> <%= f.text_field :fish, class:"items-fish", id:"item-name", placeholder:"(必須 20文字まで)", maxlength:"20" %> <div class="weight-bold-text"> サイズ <span class="any">任意</span> </div> <%= f.number_field :size, class:"items-size", id:"item-name" %><span class="size-cm"> cm</span> <div class="weight-bold-text"> 重さ <span class="any">任意</span> </div> <%= f.number_field :weight, class:"items-weight", id:"item-name" %><span class="weight-Kg"> Kg</span> <div class="weight-bold-text"> 匹数 <span class="any">任意</span> </div> <%= f.number_field :number, class:"items-number", id:"item-name", maxlength:"3" %><span class="number-fish"> 匹</span> <div class="weight-bold-text"> 都道府県 <span class="indispensable">必須</span> </div> <%= f.collection_select(:prefecture_id, Prefecture.all, :id, :name, {}, {class:"select-box", id:"item-prefecture"}) %> <div class="weight-bold-text"> エリア <span class="any">任意</span> </div> <%= f.text_field :area, class:"items-area", id:"item-name", placeholder:"(必須 20文字まで)", maxlength:"20" %> </div> </div> <div class="sell-btn-contents"> <%= f.submit "投稿する" ,class:"sell-btn" %> <%=link_to 'もどる', root_path, class:"back-btn" %> </div> </div> <% end %> </div>
試したこと
newアクションに誤字があるのかと考え確認したところミスはなさそうでした。
form_withの記述方法にミスがあるのでしょうか?
回答よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/27 04:27
2021/03/27 04:37