내 모델 색인 생성에 문제가 있습니다. 오류 여기관계가 색인을 생성하지 않습니다
rake thinking_sphinx:index --trace
됩니다 :
undefined method `priority' for #<ThinkingSphinx::Source:0x00000106ae1738>
사람이 왜 tracker
을 알고
class Model < ActiveRecord::Base
define_index do
# ...
has tracker.open, as: :open, type: :boolean
has source.priority, as: :priority, type: :integer
# ...
end
belongs_to :tracker
belongs_to :source
end
I 색인 모델이 실행 해요 : 여기
내 모델입니다 관계는 작동하지만source
은 아닌가?
OS X 10.7에서 Sphinx 0.9.9-release, Rails 3.1.0.rc5를 사용하고 있습니다.
업데이트
이 레이크 작업을 사용할 때 인덱싱-부분에서 오류를 얻을하지 않습니다는 (는 인덱스 대신를 인덱싱).
rake thinking_sphinx:reindex
이제 우선 순위 필드를 사용할 수없는 문제가 있습니다. 이 검색 할 때 사용되는 코드는 다음과 같습니다
Model.search(with: {priority: [1]})
이 줄의 코드 :
has source.priority
이 줄을 사용하여
ArgumentError: wrong number of arguments (1 for 0) # Produced by the line above.
:
has source(:priority)
이 오류의 결과
레스 이 오류 메시지는 다음과 같습니다.
NoMethodError: undefined method `priority' for #<ThinkingSphinx::Source:0x00000106b0ff98>
이유는 무엇입니까?
업데이트 2
대신 rake thinking_sphinx:index
및 rake thinking_sphinx:reindex
의 데이터베이스를 인덱싱하는 rake thinking_sphinx:rebuild
을 사용합니다. 목록에서 설명하고있는 바와 같이
Thinking-Sphinx에'Source' 클래스가있는 것 같습니다. 사용자는'Source' 모델을 가지고 있으며이를 해결할 수 없습니다. ''source (: priority)'를 시도해보십시오 ... –
힌트를 주셔서 감사합니다. 그러나 작동하지 않습니다. 내 게시물을 업데이트했습니다. – Oleander
'소스'모델의 이름을 변경하십시오. TS에는 자신의'source' 메소드가 있습니다 (http://rubydoc.info/gems/thinking-sphinx/2.0. –