ЯoomeR

プログラミング~実装とエラー解決と、時々、AI~

「devise.regist_data」とは何か

Railsでウィザード形式のユーザー登録を実装しようと調べるとよく出てくるこの記述。

Railsのメソッドなのか?deviseのヘルパーメソッドなのか?

結論:ただの変数名

session["devise.regist_data"] = {user: @user.attributes}

これ、あくまで「sessionを使ってユーザー情報を保持する」ための記述。

devise.regist_dataという記述自体には特に意味がなくて、ただの変数名なのである。

よって、

session["hogehogehoge"] = {user: @user.attributes}

このように適当な変数名をつけてもOKなのだ。

@address = @user.build_addressとは

belongs_toで関連付けられたクラスでは「build_association」というメソッドを使用することができる。

これは「モデルと関連付けてbuildする」メソッドである。

createではなくbuildなのは、address単体で保存するわけでは無いからである。

ということで、これは「userに結びつけてaddressをbuildする」という記述なのだ。

他のメソッドはRailsガイドに詳しい。