アクティブレコードでモデルをナビゲートできない理由がわかりません。
has_one プロファイルを持つ User モデルがあります (実際には、ユーザーの詳細)
class User < ActiveRecord::Base
has_one :profile, :dependent => :destroy
end
ユーザーと市に属しているモデル プロファイル
class Profile < ActiveRecord::Base
belongs_to :user
belongs_to :city
end
そしてモデル都市 has_many Profiles
class City < ActiveRecord::Base
belongs_to :country
has_many :profiles
end
私の user_controller では、次のようにプロファイルにアクセスできます。
@user = User.find(params[:id])
logger.info(@user.profile.inspect)
しかし、私はこのように深く行くことはできません:
@user = User.find(params[:id])
logger.info(@user.profile.city.inspect)
戻り値
undefined method `city' for nil:NilClass
私が取得したいのは、Profile モデルに保存されている city_id からの都市の名前です。誰かが私が間違っていることを説明できますか? ありがとう