Rails STI TypeMisMatch Проблема - PullRequest
0 голосов
/ 21 мая 2019

Сокращенный пример, чтобы выяснить проблему.

class FooBar
  has_many :users
end

class Account
  # type column included to get the correct class
end

class Buyer < Account
  belongs_to :foo_bar
end

class Seller < Account
  belongs_to :foo_bar
end

При создании FooBar с пользователем я получаю ActiveRecord::AssociationTypeMismatch при выполнении

FooBar.create!(users: [User.first])
ActiveRecord::AssociationTypeMismatch (User expected, got #<User::Seller id: ...

Я могу добавить class_name как has_many :users, class_name: 'User::Seller', но тогда только отношениебудет работать на User::Seller с.Но я просто хочу, чтобы все пользователи могли ссылаться на FooBar, не заботясь о типе.Это возможно таким образом?

...