Rails 3.1.0,geokit,错误acts_as_mappable

时间:2011-09-24 05:29:56

标签: ruby-on-rails-3.1 ruby-on-rails-plugins geokit

我正在接受

undefined local variable or method `acts_as_mappable'
使用geokit时出现

错误,经过大量的Goggling和尝试后,我似乎无法解决问题。

基本上,我安装了以下宝石:

geokit (1.6.0, 1.5.0)
geokit-rails31 (0.1.3)

并在我的模型中有以下内容

class House < ActiveRecord::Base
  acts_as_mappable
end

和Gemfile:

gem 'geokit', '>= 1.5.0'
gem 'geokit-rails31'

我在本地应用程序中执行或不执行以下操作时收到错误。

rails plugin install git://github.com/jlecour/geokit-rails3.git

1 个答案:

答案 0 :(得分:6)

好的 - 对于任何需要帮助的人来说,这是一个解决方案......

确保您的项目Gemfile不包含任何类型的geokit信息。

安装geokit

> gem install geokit

> gem list geo
*** LOCAL GEMS ***
geokit (1.6.0, 1.5.0)

卸载geokit-rails3和geokit-rails31

> gem uninstall geokit-rails31 geokit-rails3

在您的项目中,在根级别:

> rails plugin install git://github.com/jlecour/geokit-rails3.git

编辑规范

> vi vendor/plugins/geokit-rails3/geokit-rails3.gemspec

将rails依赖行更改为

s.add_runtime_dependency 'rails', '>= 3.1.0'

现在,编辑Gemfile以包含gem

gem 'geokit-rails3', :path => 'vendor/plugins/geokit-rails3'

注意,Gemfile只包含geokit-rails3的条目,而且没有普通geokit gem的条目。即没有“gem'geokit','&gt; = 1.5.0'”条目

然后在您的应用程序根目录中,执行

bundle install

应该进行设置,现在您可以按照典型教程进行操作 - 如git说明中所述

https://github.com/jlecour/geokit-rails3