Devise で作成した User モデル用のコントローラーの index, show アクションを追加

Devise で devise_for メソッドによるルーティングを確認 | EasyRamble で確認したとおり、Devise で User モデルを作成した場合、対応する Users コントローラーの index, show 用のルーティングは作成されません。

users#index → ルーティングなし
users#show → ルーティングなし

となります。ですので、users#index, users#show に対応するルーティングを設定し、コントローラー・ビューも作成します。

— 環境 —
rails 5.0.0.1
devise 4.2.0

【追記 2016/11/22】
Rails 5 + Devise 4 の環境でも同様の手順で実装できます。
【追記ここまで】

— 記事初回公開時の環境 —
Rails 4.0.1
Devise 3.2.2

スポンサーリンク

users#index, users#show 用のルーティングを設定

config/routes.rb に users#index, users#show アクション用のルーティングを追加します。注意点としては、devise_for の後に追加すること。前に追加すると不具合が起こる。

config/routes.rb

ルーティング確認。users#index, users#show のルーティングが追加されました。

Users コントローラーを index, show アクションとともに作成

適当にコントローラーを作成。

app/controllers/users_controller.rb

users#index, users#show 用のビューを作成

ビューも適当に作成。

app/views/users/index.html.erb

app/views/users/show.html.erb

これで、/users, /users/1 などのURLにアクセスして、ユーザー一覧およびユーザー詳細のページを表示できます。

スポンサーリンク
パーフェクト Ruby on Rails は、最近読んだ Rails 本の中では一番役に立った本です。Chef や Capistrano など Rails と共によく使用される技術にも触れてあります。Ruby on Rails 4 アプリケーションプログラミングは、入門的な内容で Rails の機能全体を網羅されています。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!