簡體   English   中英

如何進行多個has_one模型關聯?

[英]How to do multiple has_one model associations?

我正在嘗試在視圖中訪問用戶角色的標題。 我希望能夠做到這一點user.user_details.role.title

user.user_details.role給我#錯誤的undefined method角色

我的協會有什么不對的地方?

class User < ActiveRecord::Base
  has_one :user_details, :dependent => :destroy
  has_one :role, :through => :user_details
end

class UserDetails < ActiveRecord::Base
  belongs_to :user
  has_one :role
end

class Role < ActiveRecord::Base
  belongs_to :user_details
end

您對UserDetails模型的命名錯誤。 將其更改為UserDetail並在關聯中進行更新。

然后,您將可以通過user.user_detail.role訪問角色。 因為對於has_one關聯,您必須使用單數名稱。

class User < ActiveRecord::Base
  has_one :user_detail, :dependent => :destroy
  has_one :role, :through => :user_detail
end

class UserDetail < ActiveRecord::Base
  belongs_to :user
  has_one :role
end

class Role < ActiveRecord::Base
  belongs_to :user_detail
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM