QA@IT

[ruby/rails] Devise users/sign_in と users/show アクショントラブル

4126 PV

私は devise 3.4.0 と rails 4.1.0 を使っています。

ユーザー詳細ページを追加したい為、下記ルートを作りました:

get 'users/:id' => 'users#show', as: 'user'

でも、/users/sign_in パスをアクセスした時に、ユーザー詳細ページを探していきました。
ルートの正しい書き方は何ですか?

回答

config/routes.rbに書いたルーティング定義は、うえから順に評価されます。
deviseのマッピングと、上記のルーティング定義と、どちらが上にありますか?

また、質問とは直接関係ありませんが、ルーティングでは出来る限りresource(s)を使っておくほうが、イマドキの Rails のやり方に逆らわず、よさそうです。上のルーティングであれば、こんなふうにかけると思います。

resources :users, only: %w(show)
編集 履歴 (0)
  • ご回答ありがとうございます。上記の定義は上にあります。
    今調整しましたので、直しました。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。