scaffoldでusersを作成

scaffoldでuser系を生成

Command
$ rails g scaffold user -s --no- stylesheets --skip- migration

--skip- migration
前回のsorcery:installでusersテーブル作成のマイグレーションファイルを作成している

--no- stylesheets
scaffoldで通常生成されるscaffold.cssというファイルがbootstrapと競合して表示がおかしくなる

-s
ファイルの生成時に既存だった場合にスキップ
* app/models/user.rbがsorcery:installで生成されている。
* authenticates_with_sorcery!メソッドが宣言されているので、上書きしてほしくないのでスキップ。
ユーザー名、表示名、プロフィールのカラムを追加

Command

$ rails g migration add_name_and_screen_name_and_bio_to_users
name:string screen_name:string bio:string
マイグレーションしてデータベース・テーブルを作成する

$ rake db:migrateでマイグレーションする。

そんで、最初エラーになる。

おそらく、db/migrate/20141216150612_create_users.rbが邪魔している模様なので、思いきって削除。

※定義されている create_table :users do
|t|が、前に作成されたsorcery_core.rbで定義済みなのでいらんはず。

とりあえず、マイグレーション成功したのでこれですすんでみる。

* サンプル元のGitHubにもcreate_users.rb無かった。
サインアップ用のコントローラーを生成

$ rails generate controller registrations new

- サインアップの機能に、registrationsという名前を当てる。
- 新規登録フォーム画面のnewアクションと、それをPOSTメソッドで受け取るcreateアクションを想定。
※テンプレートを持つ画面はnewのみの為、newのみ指定。
Bootstrapを読みこむ

app/assets/stylesheets/application.cssをapplication.css.sassという名前に変更。
layoutを変更する

- bodyタグにid="application"設定。
- レイアウト部分をdivで囲む。
- 使用しているエディタのシンタックスハイライトが上手く効かないのでシングルクォーテーションをダブルクォーテェーションに置換。
サインアップ機能(新規作成画面)の実装 - Routingを実装
サインアップ機能(新規作成画面)の実装 - Modelを実装

* バリデーションは極力早く書く様にする。
　※開発中であってもおかしいコードがDBに入り込まないように意識する。
Controllerを実装

新規会員登録のページ
Viewを実装