Драгоценный камень предков говорит о неопределенном методе "происхождение" для

Я установил драгоценный камень предков в gemfile:

gem "ancestry", "~> 2.0.0"

В модели:

class Category < ActiveRecord::Base
  attr_accessible :..., :name, :..., :ancestry, :..., :...
  #acts_as_tree
  has_ancestry cache_depth: true
  has_many :cars
end

И когда я загружаю в представление соответствующую категорию:

- category = Category.where('my_category_id = ?', @game.car_category_id)
%div= category.inspect

На выходе

[#<Category id: 58, name: "Name", ..., created_at: "2013-11-22 15:00:01", updated_at: "2013-11-24 14:54:06", ancestry: "7", car_category_id: 6205>]

Итак, в столбце происхождение стоит значение 7. Когда я пытаюсь отобразить это значение, = category.ancestry, результат будет следующим:

undefined method `ancestry' for #<ActiveRecord::Relation:0x007fce5e61dcb0>

То же самое, когда я пытаюсь проверить это значение ...

Что я здесь делаю не так? Почему я не могу работать со значением родословная?

Спасибо


person user984621    schedule 13.12.2013    source источник


Ответы (1)


получите реальный экземпляр, поэтому замените:

category = Category.where('my_category_id = ?', @game.car_category_id)

с участием:

category = Category.where('my_category_id = ?', @game.car_category_id).first

Кстати, это должно быть сделано в вашем контроллере. Не в твоем понимании. (и использование прицелов не повредит :))

person apneadiving    schedule 13.12.2013
comment
Ох ебать, мне нужно немного поспать. Спасибо @apneadiving. - person user984621; 13.12.2013