我在我的应用程序中使用地理编码器 gem,当我运行测试时,我遇到了来自 Google 的限制查询错误。所以我不想在测试环境中使用它,并且我希望我的某些页面在测试时不显示某些信息,以便不使用地理编码器实用程序。
我试过这个,但它没有用,你能帮帮我吗?
应用程序/模型/location.rb
after_validation :geocode, if: :address_changed? && (Rails.env.production? || Rails.env.development? )
和
在app/views/products/index.html.erb中使用的app/helpers/location.rb
if Rails.env.test?
t('location.distance.test')
else
here.location.distance_to(there.location, :km)
end
对于我运行的每个测试,我都会收到以下错误消息:
NoMethodError:
undefined method `after_validation' for false:FalseClass
如果我删除助手中的所有内容以及模型中的以下代码,则不会再出现错误。
&& (Rails.env.production? || Rails.env.development? )