我正在使用 Rails 3 并且有一个简单的模型
class Post
has_many :comments
end
我正在做一些元编程,我需要知道注释表中的foreign_key的名称。
在上面的例子中,答案是
post_id
然而它可以是任何东西,因为用户可以进行配置。
假设您可以访问 Post 和 Comment 类,您将如何获取foreign_key 的名称?
Update:经过一些测试,这就是我得到的。
> User.reflections[:phone_numbers].instance_variable_get('@primary_key_name')
=> "user_id"
以上解决方案适用于
class User
has_many :phone_numbers
end
我需要知道注释表中foreign_key的名称。
你如何获得foreign_key的名称?
尝试这个:
. rails console
Loading development environment (Rails 3.0.9)
irb(main):001:0> "Post".foreign_key
=> "post_id"
这是完整的文档 http://apidock.com/rails/ActiveSupport/Inflector/foreign_key。请让我知道这对你有没有用。不过,我还没有在自定义外键上尝试过这个。希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)