Ruby on rails 思考狮身人面像和设计生产模式中不协同工作的路线?
在Rails 2.3.10应用程序上,思考狮身人面像(1.4.3)和设计(1.0.10)之间存在着(对我来说)非常奇怪的冲突。(这两个gem都在my environment.rb文件中配置) 就个人而言,一切都如预期的那样工作——Desive在注册和登录等方面工作良好,认为Sphinx会愉快地返回搜索结果 然而,在生产模式下(或者在开发模式下使用cache_classes=true),同时运行这两个类会使我的设计路线明显消失 在我的路线文件中,我有一个非常简单的“map.design\u for:customers”,因此我可以访问“/customers/sign\u”fine。此时,我安装了Thinking Sphinx gem,但没有定义索引 现在,只要我转到我的产品模型,并添加一个非常简单的索引设置,如:Ruby on rails 思考狮身人面像和设计生产模式中不协同工作的路线?,ruby-on-rails,devise,thinking-sphinx,Ruby On Rails,Devise,Thinking Sphinx,在Rails 2.3.10应用程序上,思考狮身人面像(1.4.3)和设计(1.0.10)之间存在着(对我来说)非常奇怪的冲突。(这两个gem都在my environment.rb文件中配置) 就个人而言,一切都如预期的那样工作——Desive在注册和登录等方面工作良好,认为Sphinx会愉快地返回搜索结果 然而,在生产模式下(或者在开发模式下使用cache_classes=true),同时运行这两个类会使我的设计路线明显消失 在我的路线文件中,我有一个非常简单的“map.design\u for
define_index do
indexes name
end
然后是404s页,带有:
ActionController::RoutingError (No route matches "/customers/sign_up" with {:method=>:get})
如果删除define_索引块,一切都会正常工作。正如我所说,当cache_类设置为false时,一切都可以正常工作
这是一个中等复杂的项目,因此可能是其他原因导致了问题的出现,但如果有人对如何解决这个问题有任何建议或建议,我将不胜感激
[编辑]
我一直在进一步调查,发现TS似乎会导致我的客户模型在生产中加载两次
因此,如果产品中没有define_索引块,我看到:
- 正在加载product.rb
- 正在加载customer.rb
- 正在加载product.rb
- 正在加载customer.rb
- 正在加载customer.rb
非常感谢,尼尔。帕特·艾伦回答了这个关于斯芬克斯思考谷歌集团的问题,或者给出了一个可行的解决方案: 在我的config/sphinx.yml文件中,如果我通知Thinking sphinx要索引的特定模型,那么:
development:
indexed_models:
- Product
- AnyOtherIndexedModels
然后一切都按预期进行,我的设计路线也能正常工作。我把这些信息加进去,以防在类似情况下对未来的灵魂有所帮助。Google Groups线程位于此处:
我遇到了同样的问题,但它以不同的方式抬起了头,所以我花了一段时间才找到解决方法。不管怎样,我用Desive发了帖子。也许可以采取一些措施使这两个项目更好地协同工作。