##目的
アソシエーションを利用して、違う名前で呼び出した方がわかりやすい
けど、どう書いたらいいかわからない
そんな時のオプション、class_nameについてまとめます。
class_nameオプション
関連を設定するモデルクラス名を指定
利用場面としては、関連名と参照先のクラス名を変えたい時に使う
model/event.rb
class Event < ActiveRecord::Base
belongs_to :user
has_many :comments
end
上記はイベントがユーザーに属するぞと
書いてあります。
したがって
@event.user
という感じで、ユーザーをメソッドで呼び出すことができるのですが
.userをここはオーナーと書いた方が意味が通じやすい、というケースは下記のように書き換えられます。
model/event.rb
class Event < ActiveRecord::Base
belongs_to :owner, class_name: 'User'
has_many :comments
end
これで下の記述でも使えるようになります。
@event.owner