/ / Променете по подразбиране името на полиморфния тип колона - ruby-on-rails, ruby, ruby-on-rails-3, class, polymorphism

Променете името по подразбиране на полиморфния тип-колона - руби-на-релси, рубин, руби-на-релси-3, клас, полиморфизъм

Използвам Ruby on Rails 3 и бих искал да променя името на колоната по подразбиране, използвано от полиморфна асоциация.

Например, ако имам този клас:

class Comment < ActiveRecord::Base
...
end

и прилагам за това полиморфна асоциация, Бих искал да използвам имената на колони тип comm_id и comm_type вместо commentable_id и commentable_type. Възможно ли е? Ако да, какво трябва да променя за класа „Коментар“?

Отговори:

2 за отговор № 1

В Rails API няма начин да замени името на колоната по подразбиране, използвано за полиморфни асоциации.

Погледни този отговор за възможно решение.


0 за отговор № 2

Във вашия случай, защо просто не смените асоциацията на:

# Comment
belongs_to :comm, :polymorphic => true

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