如何获取foreign_key列的名称
我正在使用Rails 3,我有一个简单的模型
class Post has_many :comments end
我正在做一些元编程,我需要知道comments表中foreign_key的名称。
在上面的例子中答案是
post_id
但是它可以是任何东西,因为用户可以进行配置。
假设您有权访问Post和Comment两个类,您将如何获得foreign_key的名称?
更新:经过一些测试,这就是我得到的。
> User.reflections[:phone_numbers].instance_variable_get('@primary_key_name') => "user_id"
以上解决方案适用于
class User has_many :phone_numbers end
我需要在comments表中知道foreign_key的名称。
你怎么会得到foreign_key的名字?
试试这个:
. rails console Loading development environment (Rails 3.0.9) irb(main):001:0> "Post".foreign_key => "post_id"
这是完整的文档 。 请让我知道这对你有没有用。 我没有在自定义外键上试过这个。 希望这可以帮助。