0
我继承了相当怪异的表格布局:belongs_to的不同字段名
callbacks
id, note, user
admin
id, name, password
在回调中,用户设置为管理员的名称,而不是实际的ID。现在我需要能够拨打callbacks.user
并让导轨查找具有该名称的管理员,然后将其绑定到该记录。
我有admin
的模型被称为users
我怎么会去吗?
我继承了相当怪异的表格布局:belongs_to的不同字段名
callbacks
id, note, user
admin
id, name, password
在回调中,用户设置为管理员的名称,而不是实际的ID。现在我需要能够拨打callbacks.user
并让导轨查找具有该名称的管理员,然后将其绑定到该记录。
我有admin
的模型被称为users
我怎么会去吗?
您可以覆盖默认方法。
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
谢谢!我原本想这样做,但我不确定这是否是一种非常“轨道式”的方式,并且想知道是否可以使用'belongs_to'方法 – andy
可以使它与'belongs_to'配合使用主键,但如果你想使用'user'作为关联的名字,你需要重写默认方法 – tihom
有趣的,谢谢!这是一个如此尴尬的布局,但这个作品很好:) – andy