У меня есть приложение для рельсов со следующими моделями:
User (id)
Version (id, post_id, creator_id)
Post (id)
Пока что установка выглядит следующим образом:
User.rb:
has_many :versions
Version.rb:
belongs_to :creator, :class_name => "User"
belongs_to :post
post.rb:
has_many :versions
Теперь я хотел бы связать пользователя с сообщениями, которые он имеет, через таблицу версий, и, что еще хуже, это соединение должно называться вопросами. Я думал что-то вроде этого:
Добавлено в User.rb:
has_many :questions, :class_name => "Post", :source => :post, :through => :versions
Проблема в том, что это не работает и, вероятно, не должно, так как не знает, как называется ключ пользователя в таблице версий.
Сообщение об ошибке:
SQLite3 :: SQLException: такого столбца нет: versions.user_id: SELECT COUNT (*) FROM "posts" INNER JOIN "версии" ON "posts". "Id" = "версии". "Post_id" WHERE "версии" . "user_id" = 1
Я в растерянности, помогите!
Примечание: Единственное отношение, которое не работает, является окончательным users <==> posts
a.k.a users.questions