【发布时间】:2015-07-03 21:20:29
【问题描述】:
我对在 Rails 应用程序中使用 elasticsearch 非常陌生,并且正在使用耐嚼的 gem 来实现它。
我已经设置好一切并正常工作,我认为由于 Chewy.settings = {prefix: 'test'} 配置,耐嚼的 gem 正在为测试和开发环境创建单独的索引。
我的 RSpec 测试运行良好,不会在开发中造成任何问题,但是当我运行功能测试时,我在搜索时遇到开发错误。
undefined method `image_url' for nil:NilClass
我相信这是因为弹性搜索索引被测试覆盖,然后记录已从测试数据库中删除,因此返回 nil。
但是我不确定为什么会在开发中发生这种情况,因为我认为开发和测试环境具有单独的弹性搜索索引。
要解决这个问题,我必须运行 rake chefy:reset:all
我对 elasticsearch 的功能不是很熟悉,因此希望有人能稍微了解一下幕后发生的事情以及如何为测试环境设置 elasticsearch 索引。
【问题讨论】:
标签: ruby-on-rails ruby elasticsearch lucene cucumber