更改默认的多态类型列名称

use*_*052 5 ruby polymorphism ruby-on-rails class ruby-on-rails-3

我正在使用 Ruby on Rails 3,我想更改多态关联使用的默认类型列名称。

例如,如果我有这个类:

class Comment < ActiveRecord::Base
  ...
end
Run Code Online (Sandbox Code Playgroud)

并且我为此实现了多态关联,我想使用类型列名称comm_idcomm_type不是commentable_idandcommentable_type是否可以?如果是这样,我必须为 Comment 类更改什么?

sim*_*nwh 4

Rails API 中无法覆盖用于多态关联的默认列名称。

看看这个答案,寻找可能的解决方案。

  • 我必须指出,这种方式自 Rails 4.2.1 发布以来就存在,您可以通过此处发布的链接找到它。但这不是第一个答案(被标记为正确)。因此最好单击此[链接](http://stackoverflow.com/a/41179078/1514072)。祝你有美好的一天;) (2认同)