Използвам 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