LoginSignup
0
0

More than 3 years have passed since last update.

Rails チュートリアル_6章_学習メモ

Posted at

学んだ事

findメソッドとfind_byメソッドの違い

  • findメソッドはidを起点として情報を探すが、id以外からは検索出来ない。
  • find_byはid以外も可能で、他のカラムで探す際に使用する。

%w[]

配列を作成する際に便利な方法
%w[4 4 5 6 4 ]["4","4","5"...]

メールアドレスの正規表現

VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
これをformat:{with:VALID_EMAIL_REGEX}と記述する
一旦、メールの表記検証する際はこの書き方を丸暗記した方が良さそう。

一意性の検証→今もよくわかってない

重複を許可しないようにする

dupメソッド

同じ属性を持つデータを複製するためのメソッド
重複アドレスを検証する際に用いる

qiita.rb
test "email addresses should be unique" do
    duplicate_user = @user.dup
    @user.save
    assert_not duplicate_user.valid?
  end

データベースの一意性を保証する

新たにuserモデルにマイグレーションファイルを作成し、add_indexメソッドを使って一意性を強制させる
リスト6.29参照

authenticateメソッド

引数に渡された文字列(パスワード)をハッシュ化した値と、データベース内にあるpassword_digestカラムの値を比較します。一致していえば、ture、間違っていれば、falseを返す

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0