1

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 での次のアクションとそれに続くアクションの配置でした。

4

2 に答える 2

1

ではconfig/routes.rb、メンバー アクションは 1 行に 1 つである必要があります。

resources :users do
  member do
    get :following
    get :followers
  end
end

http://guides.rubyonrails.org/routing.html#adding-more-restful-actionsも参照してください

于 2013-03-03T20:09:49.457 に答える