2011-05-06 74 views
3

我正在使用Ruby on Rails 3,並且想更改多態關聯使用的默認類型列名稱。更改默認的多態類型列名稱

舉例來說,如果我有這個類:

class Comment < ActiveRecord::Base 
    ... 
end 

,我實現了一個多態關聯,我想用類型字段名comm_idcomm_type代替commentable_idcommentable_type這可能嗎?如果是這樣,我需要爲評論課改變什麼?

回答

2

Rails API無法覆蓋用於多態關聯的默認列名稱。

看看this answer尋找可能的解決方案。

+0

我必須注意,由於Rails的4.2.1版本中存在的方式,你可以在這裏發佈的鏈接找到了它。但這不是第一個答案(標記爲正確)。所以最好點擊這個[鏈接](http://stackoverflow.com/a/41179078/1514072)。祝你有美好的一天;) – 2017-03-24 13:01:00

0

在你的情況下,爲什麼不只是改變協會:

# Comment 
belongs_to :comm, :polymorphic => true 

# Everything else 
has_many :comments, :as => :comm