Geokit未定义方法`acts_as_mappable'rails

时间:2015-05-16 01:27:21

标签: ruby-on-rails openshift geokit

我在我的本地计算机上的web应用程序中使用了geokit-rails gem我按照他们的github repo中的步骤进行操作,并且在我的本地计算机上完美运行但是一旦我在openshift远程服务器上部署了我的应用程序。它似乎不起作用。 openshift ruby​​.log文件给出以下错误

  

[2015-05-15 21:10:52.1608 54455 / 7fec5b5fe700 agents / HelperAgent / RequestHandler.h:1971]:[客户端20]无法结账会话。启动Web应用程序时发生错误。   错误页面:   未定义的方法acts_as_mappable' for Group (call 'Group.connection' to establish a connection):Class (NoMethodError) /var/lib/openshift/555682cde0b8cd2874000091/app-root/runtime/repo/vendor/bundle/ruby/gems/activerecord-4.2.1/lib/active_record/dynamic_matchers.rb:26:in method_missing'     /var/lib/openshift/555682cde0b8cd2874000091/app-root/runtime/repo/app/models/group.rb:2:in`'

我确定我补充道   宝石'地理编码器'   宝石'geokit-rails'   宝石'gmaps4rails' 到我的gemfile但问题仍然存在。我从我的应用程序删除了所有geokit相关代码的方法调用,它工作正常,所以问题必须在其中。我点了这个链接Rails 3.1.0, geokit, with error acts_as_mappable和这个链接Geokit in Ruby on Rails, problem with acts_as_mappable,但它没有解决任何问题。

我正在使用Rails 4.2.1

提前致谢

2 个答案:

答案 0 :(得分:1)

您应该通过ctrl + c重新启动rails应用程序,或者您应该再次退出rails控制台和rails控制台。

例如

Location.class
NameError: undefined local variable or method `acts_as_mappable' for Location (call 'Location.connection' to establish a connection):Class
    from /Users/caiqinghua/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.1/lib/active_record/dynamic_matchers.rb:26:in `method_missing'
    from /Users/caiqinghua/weishop/app/models/location.rb:11:in `<class:Location>'
    from /Users/caiqinghua/weishop/app/models/location.rb:10:in `<top (required)>'

2.2.1 :018 >   exit
caiqinghua@qinghuadeMacBook-Pro:~/location(set-shop-location|✚1…) % rails c                                                                              (set-shop-location00)
Loading development environment (Rails 4.2.1)
2.2.1 :001 > Location.class
 => Class

答案 1 :(得分:0)

使用Spring时,您应该在再次尝试之前停止:

$ spring stop
Spring stopped.