2013-12-13 1 views
0

, gemfile에서 말한다 :조상의 보석 "에 대한 정의되지 않은 메서드 '조상'..."나는 <strong>조상 보석</strong> 설치 한

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> 

또한 내가 그 값을 검사 할 때 같은 ...

은 내가 잘못 여기서 뭐하는 거지 ? 왜 내가 조상 가치와 함께 일할 수 없습니까?

답변

0

실제 인스턴스를 가져 주셔서 감사합니다, 그래서 대체 :와

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

:이이 컨트롤러에 Btw는

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

을 수행해야합니다. 너의 시야에서. (그리고 스코프를 사용하면 아프지 않을 것입니다 :))

+0

오 fu_k, 잠이 좀 필요합니다. @ 주셔서 감사합니다. – user984621