0
我有一些问题索引我的一个模型。关系不会索引
这里是我的模型:
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
我跑这对指数模型:
rake thinking_sphinx:index --trace
以下是错误:
undefined method `priority' for #<ThinkingSphinx::Source:0x00000106ae1738>
任何人都知道为什么tracker
关系有效,但不是source
?
我在OS X 10.7中使用Sphinx 0.9.9-release,Rails 3.1.0.rc5。
更新
使用这个rake任务的时候,我不索引部分中出现任何错误(重新索引代替指数的)。
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
Resu在这个错误中的lts:
NoMethodError: undefined method `priority' for #<ThinkingSphinx::Source:0x00000106b0ff98>
任何人都知道为什么?
更新2
用于rake thinking_sphinx:rebuild
重新索引数据库,而不是rake thinking_sphinx:index
和rake thinking_sphinx:reindex
。
看起来思维 - 狮身人面像有'源'类,你有'源'模型和TS无法解决这个问题。尝试'有源(:优先)'... –
感谢您的提示,但它没有工作。我更新了我的帖子。 – Oleander
尝试重命名你的'Source'模型。 TS有他自己的'source'方法(http://rubydoc.info/gems/thinking-sphinx/2.0。5/ThinkingSphinx/Join:source) –