我正在使用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
答案 0 :(得分:0)
我需要知道comments表中foreign_key的名称。
你如何得到foreign_key的名字?
试试这个:
. rails console
Loading development environment (Rails 3.0.9)
irb(main):001:0> "Post".foreign_key
=> "post_id"
这是完整的Documentation。请让我知道这对你有没有用。我没有在自定义外键上试过这个。希望这会有所帮助。