在Rails中访问对象而不是对象ID

时间:2015-03-29 09:10:26

标签: ruby-on-rails activerecord

使用Devise,我可以使用SomeModel.user访问对象的用户,而该字段在数据库模式中列为user_id。如何使用其他ID字段执行此操作?我有一个带有两个用户字段的模型;一个来自Devise,一个guest_id字段。我可以使用SomeModel.guest来访问第二个用户对象吗?

2 个答案:

答案 0 :(得分:1)

在模型中写下

belongs_to :guest, class_name: "User"

答案 1 :(得分:1)

您想在SomeModel和User中添加新关系。

class SomeModel < ActiveRecord::Base
  # -- some code
  belongs_to :guest, class: User
  # -- some code
end

class User < ActiveRecord::Base
  # -- some code
  has_many :some_models, foreign_key: :guest_id
  # -- some code
end