2011-06-30 21 views
3

的名字,我用Rails 3,我有一個簡單的模型如何獲得foreign_key列

class Post 
    has_many :comments 
end 

我做一些元編程,我需要知道在評論表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

我需要知道在評論表foreign_key的名稱。

你會如何得到foreign_key的名字?

試試這個:

. rails console 
Loading development environment (Rails 3.0.9) 
irb(main):001:0> "Post".foreign_key 
=> "post_id" 

下面是完整的Documentation。請讓我知道這對你有沒有用。雖然我沒有在自定義外鍵上嘗試過。希望這可以幫助。