Belongs_to不同的字段名称

我inheritance了一个奇怪的表格布局:

callbacks id, note, user admin id, name, password 

在回调中,用户设置为admin的名称而不是实际的ID。 现在我需要能够调用callbacks.user并让rails用该名称查找admin,然后将其绑定到该记录。

我有一个名为users admin模型

我该怎么办呢?

您可以覆盖默认方法。

 def user User.find_by_name(user_name) end def user=(obj) self.user_name = obj.name end def user_name self[:user] end def user_name=(name) self[:user] = name end 

其他选项,为了使其与belongs_to ,有primary_key选项,但需要具有与属性user不同的名称

  # Callback.rb belongs_to :user_model , :class => "User", :foreign_key => :user, :primary_key => :name # User.rb has_one :callback , :foreign_key => :user, :primary_key => :name