routes.rb でエラー /1 ではなく.1となってしまう
問題:
users#show にいきたいのだがhttp://localhost:3000/users/1 とはならず http://localhost:3000/users.1
となってしまった。
エラー:
ActiveRecord::RecordNotFound at /users.1
Couldn't find User with 'id'=
NoMethodError at /questions
undefined method `users_path' for #<#<Class:0x007ff0e88107a0>:0x007ff0e880b958>
.col-md-4
= link_to "Q&A記録", users_path(current_user), :class => "a btn btn-default"
users_path |
GET | /users(.:format) | users#show |
GET | /users/:id(.:format) | users#show |
Rails.application.routes.draw do
resource :users, only: [:show, :index]
get 'users/:id' => 'users#show'
resource :registrations, only: [:new, :create]
resource :sessions, only: [:new, :create, :destroy]
resource :settings, only: [:edit, :update]
resources :categories
get "/questions", to: "questions#index"
get "/questions/category", to: "questions#index_category"
resources :questions do
resource :favorites, only: [:create, :destroy]
resources :answers
end
get 'slides/show'
root to: 'questions#index'
view file:
= link_to "Q&A記録", users_path(current_user), :class => "a btn btn-default"
解決法:Routes.rbを編集して順番を変える。
Rails.application.routes.draw do
resource :registrations, only: [:new, :create]
resource :sessions, only: [:new, :create, :destroy]
resource :settings, only: [:edit, :update]
resources :users, only: [:index, :show]
resources :categories
get "/questions", to: "questions#index"
get "/questions/category", to: "questions#index_category"
resources :questions do
resource :favorites, only: [:create, :destroy]
resources :answers
end
get 'slides/show'
root to: 'questions#index'
参考になりそうなサイト: