Rails - 覆盖has_one上的主键

Ben*_*all 7 ruby-on-rails

我有以下关联,基本上我想通过userid链接而不是对象的id.

__CODE__可以用新的覆盖它.如果我一起跑这两次(ish)我得到一个__CODE__错误.

class Tweet < ActiveRecord::Base
  has_one :user_profile, :primary_key => 'userid', :foreign_key => 'twitter_userid' 
Run Code Online (Sandbox Code Playgroud)

jon*_*nii 0

如果您的数据库上的主键不称为 id 那么您需要执行以下操作:

class Tweet < AR:B
  set_primary_key "userid" 
end 
Run Code Online (Sandbox Code Playgroud)

但是,我不确定我完全理解这个问题。您是否有理由想要打破 Rails 惯例?