tyoshikawa1106のブログ

- Force.com Developer Blog -

Rails:ユーザー登録ページへのルーティング作成

Railsチュートリアルのユーザ登録機能実装 (準備) についてです。


ユーザ登録機能実装を行うための準備としてユーザー登録ページへのルーティングを作成します。以下のコマンドを実行してUsersコントローラの生成を行います。

f:id:tyoshikawa1106:20150721224206p:plain

f:id:tyoshikawa1106:20150721224310p:plain


newアクションを持つ最初のUsersコントローラが作成されます。
f:id:tyoshikawa1106:20150721224402p:plain


newページも作成されています。
f:id:tyoshikawa1106:20150721224446p:plain


こんな感じで新規ユーザー用の動作するページが/users/new にできました。今回、URLは/users/newではなく表のとおりに/signupにします。


まずはテストを用意するところから始めます。

$ rails generate integration_test user_pages

f:id:tyoshikawa1106:20150721224648p:plain


spec/requests/user_pages_spec.rbが作成されるので次のようにテストを実装します。
f:id:tyoshikawa1106:20150721224930p:plain


テストの実行は次のコマンドで行います。

$ bundle exec rspec spec/requests/user_pages_spec.rb

この時点ではテストを実行してもエラーとなります。正常に実行されるようにコーディングしていきます。


config/routes.rbにユーザー登録ページへのルートを指定します。追加するのは次の処理です。

match '/signup',  to: 'users#new',            via: 'get'

f:id:tyoshikawa1106:20150721225327p:plain


現時点ではget "users/new"のルールはそのままにします。(最終的には除外します)


ルートを指定ができたのでユーザー登録ページ を次のように変更します。
f:id:tyoshikawa1106:20150721225547p:plain


ひとまずテストが通るようになります。
f:id:tyoshikawa1106:20150721225624p:plain


Homeページからユーザページへリンクできるようにします。
f:id:tyoshikawa1106:20150721230206p:plain


Homeページの中央にあるSignupボタンからページ遷移できるようになりました。
f:id:tyoshikawa1106:20150721230733p:plain

f:id:tyoshikawa1106:20150721230742p:plain


次のコマンドでテストを実行します。

$ bundle exec rspec spec/


作業忘れがなければ正常に実行されます。
f:id:tyoshikawa1106:20150721230852p:plain