我们何时、为什么以及如何在 Rails 中使用 foreign_key?主键和外键有什么区别?我对rails有点新,所以详细的解释将不胜感激。谢谢你。
2 回答
            1        
        
		
foreign_key当无法从关联名称中推断出外键名称时,您可以在关联中使用。例如,如果您在数据库中有users和groups表:
users
  -id
  -name
  -group_id
groups
  -id
  -name
您可以设置User和Group不指定外键之间的关联:
class User < ActiveRecord::Base
  belongs_to :group
end
class Group < ActiveRecord::Base
  has_many :users
end
但是,如果你有,例如,groupid而不是group_id在users表中,你将不得不这样做:
class User < ActiveRecord::Base
  belongs_to :group, foreign_key: :groupid
end
class Group < ActiveRecord::Base
  has_many :users, foreign_key: :groupid
end
    于 2013-07-03T15:36:14.090   回答
    
    
            1        
        
		
主键和外键是数据库设计中的概念。如果您想正确理解它们,我建议您暂时离开 Rails 并查看它们,因为它们直接应用于数据库。参见例如:http ://en.wikipedia.org/wiki/Foreign_key
于 2013-07-03T15:39:09.980   回答