実現したいこと
Routing Errorを解決する考え方を教えていただきたいです。
こういった場合どうすれば効率よく解決できますか?
発生している問題・分からないこと
railsでアプリ作成中ですが、新しくviewファイルを追加した所エラーが発生しました。
エラーメッセージ
error
1Routing Error 2No route matches [GET] "/youre_trips" 3Routes match in priority from top to bottom
該当のソースコード
routes.rb
1Rails.application.routes.draw do 2 3 get 'users/dashboard' 4 root 'pages#home' 5 6 get '/dashboard', to: 'users#dashboard' 7 get 'pages/home' 8 get '/users/:id', to: 'users#show', as: 'user' 9 get '/your_trips' => 'reservations#your_trips' 10 11 12 post '/users/edit', to: 'users#update' 13 14 resources :rooms, except: [:edit] do 15 member do 16 get 'listing' 17 get 'pricing' 18 get 'description' 19 get 'photo_upload' 20 get 'amenities' 21 get 'location' 22 get 'people' 23 get 'preload' 24 get 'preview' 25 delete :delete_photo 26 post :upload_photo 27 end 28 resources :reservations, only: [:create] 29 end 30 31 devise_for :users, 32 path: '', 33 path_names: {sign_up: 'register', sign_in: 'login', edit: 'profile', sign_out: 'logout'}, 34 controllers: {registrations: 'registrations'} 35 36 get "up" => "rails/health#show", as: :rails_health_check 37 38 # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html 39end
reservations_controller.rb
1class ReservationsController < ApplicationController 2 3 before_action :authenticate_user! 4 5 def create 6 room = Room.find(params[:room_id]) 7 8 if current_user == room.user 9 flash[:alert] = "ホストが予約することはできません。" 10 else 11 12 start_date = Date.parse(reservation_params[:start_date]) 13 end_date = Date.parse(reservation_params[:end_date]) 14 days = (end_date - start_date).to_i + 1 15 @reservation = current_user.reservations.build(reservation_params) 16 @reservation.room = room 17 @reservation.price = room.price 18 @reservation.total = room.price * days 19 @reservation.save 20 21 flash[:notice] = "予約が完了しました。" 22 end 23 redirect_to room 24 end 25 def your_trips 26 @trips = current_user.reservations.order(start_date: :asc) 27 end 28 private 29 def reservation_params 30 params.require(:reservation).permit(:start_date, :end_date.price, :total_p, :people) 31 end 32 end
your_trips.html.erb
1<div class="container mt-4"> 2 <div class="card"> 3 <div class="card-body"> 4 <h5 class="card-title text-danger h3 font1">予約内容(ゲスト)</h5> 5 <% if @trips.blank? %> 6 <h5 class="font1">表示できる予約はありません。</h5> 7 <% end %> 8 <% @trips.each do |trip| %> 9 <div class="card mt-4"> 10 <div class="card-body"> 11 <ul class="list-group"> 12 <li class="list-group-item" style="border: none;"> 13 <span class="font1">申込日:</span><%= I18n.l(trip.created_at, format: :full_date) %> 14 </li> 15 <li class="list-group-item" style="border: none;"> 16 <span class="font1">部屋名:</span> 17 <%= link_to room_path(trip.room), style: "text-decoration: none;", data: { turbolinks: false} do %> 18 <span class="btn btn-light"><%= trip.room.listing_name %></span> 19 <% end %> 20 </li> 21 <li class="list-group-item" style="border: none;"> 22 <span class="font1">ホスト:</span> 23 <%= link_to user_path(trip.room.user), class: "tootip", style: "text-decoration: none;" do %> 24 <span class="btn btn-light"><%= trip.room.user.full_name %></span> 25 <% end %> 26 </li> 27 <li class="list-group-item" style="border: none;"> 28 <span class="font1">宿泊日:</span> <%= I18n.l(trip.start_date, format: :full_date) %> 29 </li> 30 <li class="list-group-item" style="border: none;"> 31 <span class="font1">ご出発:</span> <%= I18n.l(trip.end_date, format: :full_date) %> 32 </li> 33 <li class="list-group-item" style="border: none;"> 34 <span class="font1">泊数:</span><%=trip.total/trip.price %>泊 35 </li> 36 <li class="list-group-item" style="border: none;"> 37 <span class="font1">料金:</span><%= number_to_currency(trip.total) %> 38 </li> 39 </ul> 40 </div> 41 </div> 42 <% end %> 43 </div> 44 </div> 45</div>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
rails routesでルートがある事は確認しましたが、エラーが解消されません。
補足
特になし
![guest](/img/icon/icnUserSample.jpg)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/06/19 11:36