Twitter に似たフォロワー システムをアプリに実装しようとしています。Michael Hartl の Rails チュートリアルで説明されているフォロワー システムを実装しています。
http://ruby.railstutorial.org/chapters/following-users
例を完了した後、次の問題に気付きました。
/users/(id)/following または /users/(id)/followers に移動すると、次のエラー メッセージが表示されます。
Unknown action
The action 'following' could not be found for UsersController
また
Unknown action
The action 'followers' could not be found for UsersController
これらのエラーについて私が困惑しているのは、UsersController でこれらのアクションを定義したことです。
def following
@title = "Following"
@user = User.find(params[:id])
@users = @user.followed_users.paginate(page: params[:page])
render 'show_follow'
end
def followers
@title = "Followers"
@user = User.find(params[:id])
@users = @user.followers.paginate(page: params[:page])
render 'show_follow'
end
問題がそこにある場合に備えて、これが私の routes.rb ファイルです。
AppName::Application.routes.draw do
#get "users/index"
#get "users/show"
authenticated :user do
root :to => 'home#index'
end
root :to => "home#index"
devise_for :users
resources :users do
member do
get :following, :followers
end
end
resources :works
resources :relationships, only: [:create, :destroy]
end
追加情報: ユーザー認証を処理するために Devise を使用しています。
修繕:
問題は、Users Controller での次のアクションとそれに続くアクションの配置でした。