2017-11-28 2 views
0

에서 NilClass 나는이 페이지 검색 내 조직 관계는 내에서 정의 된 방식을 변경하기 전에이 검색은 꽤 잘 작동했다있어 정의되지 않은 메서드`KLASS : 자원 ''전무에 대한 pg_search_scope

pg_search_scope :search_for_result, 
    associated_against: { 
    organisation: [:name], 
    classifications: [:name_fr, :name_en], 
    org_classifications: [:name_fr, :name_en], 
    entity: [:name_fr, :name_en], 
    geocoding: :address_components 
    }, 
    using: { tsearch: { prefix: true } }, 
    ignoring: :accents 

범위가 ' 모델.

전에 has_one through 관계를 사용하여 조직을 설명했습니다.

하지만 지금 내 조직을 내 '리소스'모델에서 직접 정의해야하므로 조직에 organisation_id 필드를 추가해야합니다.

belongs_to :organisation 
belongs_to :user 
belongs_to :entity 
has_one :geocoding, dependent: :destroy 
has_many :classifications_resources, dependent: :destroy 
has_many :org_classifications, through: :user 

나는이 변경 pg_search_scope 더 이상 작동하고 나에게 다음과 같은 오류 제공되지 수행했기 때문에 : 무기 호에 대한

정의되지 않은 메서드`KLASS을 'NilClass 이제 자원 모델의 관계는 다음과 같이 정의된다

activerecord (4.2.6) lib/active_record/reflection.rb:671:in `source_reflection' 
activerecord (4.2.6) lib/active_record/reflection.rb:883:in `derive_class_name' 
activerecord (4.2.6) lib/active_record/reflection.rb:157:in `class_name' 
activerecord (4.2.6) lib/active_record/reflection.rb:883:in `derive_class_name' 
activerecord (4.2.6) lib/active_record/reflection.rb:157:in `class_name' 
activerecord (4.2.6) lib/active_record/reflection.rb:650:in `klass' 
activerecord (4.2.6) lib/active_record/reflection.rb:135:in `table_name' 
pg_search (1.0.6) lib/pg_search/configuration/association.rb:17:in `table_name' 
pg_search (1.0.6) lib/pg_search/configuration/association.rb:25:in `subselect_alias' 
pg_search (1.0.6) lib/pg_search/configuration/foreign_column.rb:20:in `expression' 
pg_search (1.0.6) lib/pg_search/configuration/column.rb:21:in `to_sql' 
pg_search (1.0.6) lib/pg_search/features/tsearch.rb:162:in `column_to_tsvector' 
pg_search (1.0.6) lib/pg_search/features/tsearch.rb:110:in `block in tsdocument' 
pg_search (1.0.6) lib/pg_search/features/tsearch.rb:109:in `map' 
pg_search (1.0.6) lib/pg_search/features/tsearch.rb:109:in `tsdocument' 
pg_search (1.0.6) lib/pg_search/features/tsearch.rb:140:in `tsearch_rank' 
pg_search (1.0.6) lib/pg_search/features/tsearch.rb:24:in `rank' 
pg_search (1.0.6) lib/pg_search/scope_options.rb:165:in `block in rank' 
pg_search (1.0.6) lib/pg_search/scope_options.rb:164:in `gsub' 
pg_search (1.0.6) lib/pg_search/scope_options.rb:164:in `rank' 
pg_search (1.0.6) lib/pg_search/scope_options.rb:101:in `subquery' 
pg_search (1.0.6) lib/pg_search/scope_options.rb:170:in `rank_join' 
pg_search (1.0.6) lib/pg_search/scope_options.rb:20:in `apply' 
pg_search (1.0.6) lib/pg_search.rb:39:in `block in pg_search_scope' 
lib/modules/search_engine.rb:17:in `find' 

난 정말이 무엇을 해야할지 모르겠어요 :

은 여기에 전체 스택입니다.

누군가가 내가 잘못된 정보를 얻을 수있는 방법을 알고 있습니까?

아니면 누군가 내가 잘못한 것에 대해 어떤 생각을 가지고 있습니까? 당신이

답변

0

주석에 대한

덕분에 마지막으로 오류가 다른 관계로 인한 것을 발견 ... 죄송 사람