Я использую драгоценный камень rails_admin. Он отлично работает, когда я открываю панель администратора из localhost, но затем я получаю эту ошибку, когда пытаюсь показать пользователя внутри панели администратора rails.Заявление недействительно в Rails Admin
ActiveRecord::StatementInvalid in RailsAdmin::Main#show
PG::UndefinedColumn: ERROR: column relationships.user_id does not exist
LINE 1: ...LECT "relationships".* FROM "relationships" WHERE "relations...
^
: SELECT "relationships".* FROM "relationships" WHERE "relationships"."user_id" = $1
я понял, эта ошибка может исходить от моей модели пользователя
class User < ActiveRecord::Base
has_many :relationships
has_many :active_relationships, class_name: "Relationship",
foreign_key: "follower_id",
dependent: :destroy
has_many :passive_relationships, class_name: "Relationship",
foreign_key: "followed_id",
dependent: :destroy
has_many :following, through: :active_relationships, source: :followed
has_many :followers, through: :passive_relationships, source: :follower
end
relationship.rb
class Relationship < ActiveRecord::Base
belongs_to :follower, class_name: "User"
belongs_to :followed, class_name: "User"
end
Я не имею ни малейшего представления, почему вообще в кулак сказал об ошибке relationship.user_id
не существует. Как я могу это исправить? Заранее спасибо.
Это то, что я не хочу. Я не хочу добавлять user_id в таблицу 'relationship', так как у нее уже есть' follower' и 'follow', которые содержат' user_id'. См. Учебник, который я выполнил для этого примера кода: https://www.railstutorial.org/book/following_users. Насколько я понимаю, он не должен иметь проблем с user_id. –
Какова строка в коде, который вызывает ошибку? Не могли бы вы изменить вопрос и добавить эту информацию? –