2013-05-08 2 views
0

Почему это работает отлично:ActiveRecord :: StatementInvalid неизвестная ошибка колонка

Tag.create(game_id: 1, tagged: u) 

Но это:

tags = Tag.where(game_id: 1, tagged: u).includes(:tagged) 

дает ошибку:

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'tags.tagged' in 'where clause': SELECT `tags`.* FROM `tags` WHERE `tags`.`game_id` = 1 AND `tags`.`tagged` = 1 

BTW, u является ActiveRecord::Base sublcass.

Tag структура таблицы:

create_table :tags, force: true do |t| 
    t.references :game 
    t.references :tagged_by 
    t.references :tagged 
    t.timestamps 
end 
+0

на колонке 'tagged' находится в вашем' tag' таблицы –

+0

Вы можете оставить 'модель Tag'? – pungoyal

+0

также показывают структуру таблицы –

ответ

2

Попробуйте сделать

tags = Tag.includes(:tagged).where(game_id: 1, tagged_id: u.id) 
Смежные вопросы