【问题标题】:Cassandra with Rails 3.2, connection errorCassandra 与 Rails 3.2,连接错误
【发布时间】:2012-01-31 20:20:15
【问题描述】:

我正在使用 gem cassandra_object,请按照自述文件中的步骤操作。

我在开发环境中运行rails,开始很顺利,但是打开浏览器却显示错误:“ActiveRecord:: ConnectionNotEstablished”。

cassandra 服务器运行良好。

下面是配置文件:

ROOT/config/initializers/cassandra.rb:

CassandraObject::Base.establish_connection(
  keyspace: 'my_app_development',
  servers: '127.0.0.1:9160',
  thrift: {
    timeout: 20,
    retries: 2
  }
)

ROOT/Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.1'

gem 'thrift_client', '~> 0.7.0'
gem 'cassandra'
gem 'gotime-cassandra_object'

浏览器错误(http://localhost:3000/):

ActiveRecord::ConnectionNotEstablished

谢谢!

【问题讨论】:

    标签: ruby-on-rails activerecord cassandra


    【解决方案1】:

    要解决这个问题,只需禁用 ActiveRecord。

    在文件 ROOT/config/application.rb 上,删除这一行:

    require 'rails/all'
    

    并包含以下代码:

    require "action_controller/railtie"
    require "action_mailer/railtie"
    require "active_resource/railtie"
    require "rails/test_unit/railtie"
    

    评论行:

    config.active_record.schema_format = :sql
    

    并注释掉这一行:

    config.active_record.whitelist_attributes = true
    

    在 application.rb 中执行这些步骤,cassandra 工作了。

    谢谢。

    【讨论】:

    • 没错,但环境中的active_record也要注释掉。
    猜你喜欢
    • 2016-10-12
    • 2020-07-28
    • 2015-03-12
    • 2016-09-05
    • 2014-03-14
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 2014-02-03
    相关资源
    最近更新 更多