奇妙な問題があります。サインインして URL からホームに戻ろうとすると、次のエラーが表示されます。localhost:3000/
" {:action="schedule", :controller="users"} に一致するルートはありません "
ここに routes.rb があります:
Ikky::Application.routes.draw do
root to: 'static_pages#home'
resources :users do
member do
get 'schedule'
end
end
rake routes
以下を返します:
root / static_pages#home
schedule_user GET /users/:id/schedule(.:format) users#schedule
users GET /users(.:format) users#index
POST /users(.:format) users#create
[...]
この問題は、私の schedule_user ルートを導入したときに発生しました。
これが私の users_controller です:
class UsersController < ApplicationController
before_filter :signed_in_user, only: [:index, :edit, :update, :destroy, :schedule]
before_filter :correct_user, only: [:edit, :update]
before_filter :admin_user, only: :destroy
def schedule
@user = User.find(params[:id])
@spots = @user.spots.paginate(page: params[:page])
@spot = current_user.spots.build if signed_in?
end
そして、ここに static_pages_controller があります:
class StaticPagesController < ApplicationController
def home
@spot = current_user.spots.build if signed_in?
end
これは部分的な shared/user_info です:
<a href="<%= user_path(current_user) %>">
<%= gravatar_for current_user, size: 52 %>
</a>
<h1>
<%= current_user.name %>
</h1>
<span>
<%= link_to "view my profile", current_user %>
</span>
<span>
<%= pluralize(current_user.spots.count, "spots") %>
</span>
ご協力ありがとうございました!
PS : 私は初心者ですので、私のコードが混乱していたら申し訳ありません...