Garb刚刚停止在Rails 3中工作而没有被触及

时间:2011-05-26 21:37:26

标签: ruby-on-rails-3 google-analytics

我有一个Garb模型:

class Visits

  extend Garb::Model

  metrics :visits, :new_visits, :pageviews
  dimensions :month, :hostname, :network_domain, :country, :region, :source

end

我的控制器中有这一行:

for visit in Visits.results(profile, :start_date => (Date.today-numdays), :filters => { :hostname.eql => "#{@brand.subdomain}.mysite.com" })

这非常有效。但突然之间,即使实际代码都没有被修改过:

NoMethodError in AnalyticsController#index
undefined method `eql' for :hostname:Symbol

导致这种情况的原因是什么?

3 个答案:

答案 0 :(得分:1)

由于某种原因,不再加载garb / lib / support.rb.你把:require => false放到了Gemfile中的garb gem行吗?

答案 1 :(得分:0)

我通过将garb / lib / support.rb的内容剪切并粘贴到environment.rb文件中来解决此问题。我知道,不理想。但我不知道什么宝石更新修改了Symbol,这个有效。罗马的道具指向我正确的方向。

答案 2 :(得分:0)

你安装了right_http_connection-1.3.0 gem吗?如果你在'garb'之前需要'right_http_connection',它将导致不加载garb / lib / support.rb。如果你可以通过安装一个较低的right_http_connection来解决这个问题,例如right_http_connection-1.2.4。

毕竟你可以使用命令

 find /Your/gems/installed/dir -name "*.rb" -print | xargs grep '\<support\>' | grep  'require'

找到导致你的garb / lib / support.rb的文件不再被加载。 此链接http://kayakjang.github.com/2011/05/27/garb.html可能对您有所帮助。