2015-08-12 2 views
0

Я использую драгоценный камень 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 не существует. Как я могу это исправить? Заранее спасибо.

ответ

-1

Это говорит вам, что таблица отношений под моделью отношений не имеет столбца user_id.

При использовании has_many ассоциации в модели пользователя, то вам необходимо иметь user_id столбец в таблице отношений на: http://guides.rubyonrails.org/association_basics.html#the-has-many-association

Изучите таблицу отношений в базе данных, чтобы увидеть структуру таблицы. Кажется, вам нужно перейти на добавление столбца user_id в эту таблицу.

+0

Это то, что я не хочу. Я не хочу добавлять user_id в таблицу 'relationship', так как у нее уже есть' follower' и 'follow', которые содержат' user_id'. См. Учебник, который я выполнил для этого примера кода: https://www.railstutorial.org/book/following_users. Насколько я понимаю, он не должен иметь проблем с user_id. –

+0

Какова строка в коде, который вызывает ошибку? Не могли бы вы изменить вопрос и добавить эту информацию? –

Смежные вопросы