【问题标题】:NameError: uninitialized constant ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::TableDefinitionNameError: 未初始化的常量 ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::TableDefinition
【发布时间】:2015-02-24 22:01:42
【问题描述】:

生成 rails 4.2.0 应用并添加 activerecord-postgis-adapter 并相应地编辑 database.yml 文件。

但是现在当我执行rake db:create 时,它会报错:

± be rake db:create                                                                                                         2.1.0
rake aborted!
NameError: uninitialized constant ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::TableDefinition
/Users/millisami/Railsapps/showme/config/application.rb:16:in `<top (required)>'
/Users/millisami/Railsapps/showme/Rakefile:4:in `require'
/Users/millisami/Railsapps/showme/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

【问题讨论】:

    标签: ruby-on-rails postgis ruby-on-rails-4.2


    【解决方案1】:

    显然,activerecord-postgis-adapter gem 是 not yet compatible with ActiveRecord 4.2

    要么使用标准的pg gem(ActiveRecord 原生支持),要么降级到 4.1。

    【讨论】:

    • 来自上述链接的最新更新是,有一个可用于 activerecord-postgis-adapter 的测试版可以修复此问题:gem "activerecord-postgis-adapter", "3.0.0.beta1"
    【解决方案2】:

    正如 ob1 在已接受答案的评论中指出的那样,在撰写本文时,postgis 适配器有一个支持 ActiveRecord 4.2 的 beta 版本。这是 Simone Carletti 提供的链接中的文本:

    这个分支作为 3.0.0.beta1 发布。测试:

    gem "activerecord-postgis-adapter", "3.0.0.beta1" 有 ActiveRecord 4.2 中对 PostgreSQL 适配器的重大更改,以及 在单个代码中支持以前的版本非常麻烦 根据。因此,而不是有条件支持先验 ActiveRecord 的版本,此适配器将仅支持 ActiveRecord 4.2 及更高版本在 master 分支和 3.0 版本中。

    activerecord-postgis-adapter 2.x 版将继续支持 ActiveRecord 4.0 和 4.1。

    activerecord-postgis-adapter 3.x 版将支持 ActiveRecord 4.2 及以后。

    【讨论】:

      【解决方案3】:

      activerecord-postgis-adapter 的 3.0.0 版已发布。它支持 ActiveRecord 4.2。

      gem "activerecord-postgis-adapter"

      https://github.com/rgeo/activerecord-postgis-adapter

      https://rubygems.org/gems/activerecord-postgis-adapter

      【讨论】:

        猜你喜欢
        • 2016-09-15
        • 2020-10-13
        • 2023-03-31
        • 2017-07-07
        • 2013-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-26
        相关资源
        最近更新 更多