Я использую гем commontator для реализации функции комментариев. Но есть проблема, поскольку этот драгоценный камень также использует модель подписки, а наш драгоценный камень также использует модель подписки.
Таким образом, есть столбец thread_id, связанный с таблицей подписки пользователя. Но когда он обращается к нашей модели подписки .... Это дает ошибку PG::UndefinedColumn: ERROR: column subscriptions.thread_id does not exist
К модели потока, которая фактически дает ошибку и которая имеет ассоциацию has_many: subscriptions
... Я добавил имя_класса следующим образом
module Commontator
class Thread < ActiveRecord::Base
belongs_to :closer, polymorphic: true, optional: true
belongs_to :commontable, polymorphic: true, optional: true
has_many :comments, dependent: :destroy
has_many :subscriptions, class_name: "Commontator::Subscription", dependent: :destroy
Но это также все еще возвращает мою модель подписки:
pry(#<Commontator::Thread>)> subscriber.subscriptions
=> [#<Subscription:0x00007fabcc5d3340
id: 1,
kind: "free",
end_date: nil,
user_id: 2,
channel_id: 1,
created_at: Thu, 04 Apr 2019 11:21:15 UTC +00:00,
updated_at: Thu, 04 Apr 2019 11:21:15 UTC +00:00>]
Мой user.rb включает has_many :subscriptions, dependent: :destroy
Модель подписки Commontator против модели my_subscription
irb(main):017:0> Commontator::Subscription.new
=> #<Commontator::Subscription id: nil, subscriber_type: nil, subscriber_id: nil, thread_id: nil, created_at: nil, updated_at: nil>
irb(main):018:0> Subscription.new
=> #<Subscription id: nil, kind: "free", end_date: nil, user_id: nil, channel_id: nil, created_at: nil, updated_at: nil>
Есть ли способ, которым я могу изменить это, не меняя название моей модели подписки ??