前提
Rubyでアプリを作っています。
showアクション機能を実装中に以下のエラーメッセージが発生しました。
実現したいこと
showアクションの画面へ遷移させたいです。
発生している問題・エラーメッセージ
undefined local variable or method `room' for #<#<Class:0x00007fc5feae7fb0>:0x00007fc5feae5ad0>
該当のソースコード
Ruby
1Rails.application.routes.draw do 2 devise_for :users 3 root to: "rooms#index" 4 resources :users, only: [:edit, :update] 5 resources :rooms, only: [:new, :create ,:show, :destroy] do 6 resources :messages, only: [:index, :create] 7 end 8end
Ruby
1class RoomsController < ApplicationController 2 3 def index 4 end 5 6 def new 7 @room = Room.new 8 end 9 10 def create 11 @room = Room.new(room_params) 12 if @room.save 13 redirect_to root_path 14 else 15 render :new 16 end 17 end 18 19 def show 20 map = Map.find(params[:id]) 21 end 22 23 def destroy 24 room = Room.find(params[:id]) 25 room.destroy 26 redirect_to root_path 27 end 28 29 private 30 31 def room_params 32 params.require(:room).permit(:name, user_ids: []) 33 end 34end
Ruby
1<div class="side-bar-header"> 2 <div class="header-name"> 3 <%= link_to current_user.name, edit_user_path(current_user) %> 4 </div> 5 <div class="create-room"> 6 <%= link_to "旅行先を共有する", new_room_path %> 7 </div> 8 <div class="map-room"> 9 <%= link_to "マップで調べる", show_room_path(room.id), method: :get %> 10 </div> 11</div> 12 13<div class="rooms"> 14 <% current_user.rooms.each do |room| %> 15 <div class="room"> 16 <div class="room-name"> 17 <%= link_to room.name, room_messages_path(room) %> 18 </div> 19 </div> 20 <% end %> 21</div>
試したこと
別で用意したshow.html.erbのビューに遷移させたく、
<%= link_to "マップで調べる", room_path(room.id), method: :get %>
上記のようにパスを書いたが遷移できなくエラーが出てしまいました。
おそらくshowアクションのパスが通っていないのが原因だと思うのですが、ミスが見当たらずに困っています。
かなりの初心者なのでコードを書くのが下手で申し訳ありませんが、ミスを教えていただけると幸いです。
補足情報(FW/ツールのバージョンなど)

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。