現在railsにてカフェサイトのポートフォリオを作成しておりますが、NoMethodErrorが出てしまうのうで解決方法を教えてください。
keyword_search.html.erbより店舗を検索し、出てきた店舗をクリックするとstoresinfo.html.erbに遷移して店舗情報の詳細ページが出てくるようにしたいのですが、NoMethodErrorになってしまします。
routes.rb root "home#top" get "home/top" => "home#top" get "home/search" => "home#search" get "home/keyword_search" => "home#keyword_search" get "home/storesinfo/:id" => "home#storesinfo"
keyword_search.html.erb <% @ownersinfo.each do |ownersinfo| %><!-- 検索結果一覧の表示 --> <p><%= link_to(ownersinfo.store_name, "/home/storesinfo/#{ownersinfo.owner_id}") %></p> <% end %> <% if @ownersinfo.size == 0 %><!-- 検索結果がない場合 --> <p>検索結果がありませんでした</p> <% end %>
storesinfo.html.erb <img src="<%= "/ownersinfo_top/#{@ownersinfo.top_image}"%>"> <p>店舗名 <%= @ownersinfo.store_name %></p> <p>住所 <%= @ownersinfo.street_address %></p> <p>最寄駅 <%= @ownersinfo.nearest_station %></p> <p>電話番号 <%= @ownersinfo.phone_number %></p> <p>open <%= @ownersinfo.opening_hours %></p> <p>close <%= @ownersinfo.closing_time %></p> <p>定休日 <%= @ownersinfo.regular_holiday %></p> <p>営業時間その他 <%= @ownersinfo.thing_about_business_hours %></p> <p>ホームページ <%= @ownersinfo.homepage %></p> <img src="<%= "/store_image01/#{@ownersinfo.store_image01}"%>"> <img src="<%= "/store_image02/#{@ownersinfo.store_image02}"%>"> <img src="<%= "/store_image03/#{@ownersinfo.store_image03}"%>"> <img src="<%= "/store_image04/#{@ownersinfo.store_image04}"%>">
home_controller.rb def keyword_search @ownersinfo = Ownerinfo.all @ownersinfo = @ownersinfo.where('store_name LIKE ?', "%#{params[:search]}%") if params[:search].present? end def storesinfo #検索結果で表示された店舗情報の取得 @ownersinfo = Ownerinfo.find_by(owner_id: params[:id]) end
controllerの
def storesinfo #検索結果で表示された店舗情報の取得
@ownersinfo = Ownerinfo.find_by(owner_id: params[:id])
end
にて特定のデータを取得していると思うのですが、NoMethodErrorになってしまいます。
どのようにすればエラーにならずに店舗情報が表示されるでしょうか。
他に必要な情報などがあれば追記しますのでご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。