Railstutorial学習記録7
GW終わりましたけど、6章やっていきます。
5章でユーザページのスタブを作っていたので、それを実装するみたいです。6~8章?にかけてやるみたいで、ひとつの山場かもしれないですね。時間あるので、ブログにしっかり残しておきたいと。
学んだこと
rakeタスクでDBが作成できる。これはすごい楽。昔はDDL作ってそれを検証して、投入とかしていた。rollbackも簡単なのがいいですね。db/scheme.rb見るとrubyからDBを作成したときに使った情報が見れるみたいです。
user.newでユーザを作成してもDBにはcommitされていない。user.saveすることでcommitされる。作成と更新を同時にやるときはuser.create。削除はuser.destroy
select文的なことはfindメソッドで行う。作ったモデルに応じてfind_by_XXというメソッド作成されるので、それも使える。Rails4からはfind_byメソッドを使って引数に条件にしたいカラムを渡す方がいいみたいです。
dataの更新はオブジェクトに対し直接データを入れるか、update_attributesを使うか。全カラムの更新をしない場合はupdate_attributeで。
データのバリデーションの話。入力チェックとも。
Userモデルにpresence属性を追加して属性が空文字だとuser.save時にfalseになる。valid?メソッドでもfalseに。エラー詳細見たいときは.errors.full_messagesで確認できる。
rspecの構文は省略されているので、実際は何をやってるのかしっかり考えておいた方がよさそう。
正規表現のサイト