Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用rails为不同环境配置Neo4j_Ruby On Rails_Neo4j_Rspec - Fatal编程技术网

Ruby on rails 使用rails为不同环境配置Neo4j

Ruby on rails 使用rails为不同环境配置Neo4j,ruby-on-rails,neo4j,rspec,Ruby On Rails,Neo4j,Rspec,我已经在开发环境中使用Neo4j核心gem配置了Neo4j 为了创建新连接,我在application.rb中使用了以下代码 应用程序.rb neo4j_adaptor = Neo4j::Core::CypherSession::Adaptors::HTTP.new('http://localhost:7474') neo4j_session = Neo4j::Core::CypherSession.new(neo4j_adaptor) 如何配置neo4j,以便开发环境和测试环境使用不同的数据

我已经在开发环境中使用Neo4j核心gem配置了Neo4j

为了创建新连接,我在application.rb中使用了以下代码

应用程序.rb

neo4j_adaptor = Neo4j::Core::CypherSession::Adaptors::HTTP.new('http://localhost:7474')
neo4j_session = Neo4j::Core::CypherSession.new(neo4j_adaptor)
如何配置neo4j,以便开发环境和测试环境使用不同的数据库


例如:用于开发示例和运行rspec示例测试。

我不知道您对Rails有多少经验。但在rails中,默认情况下主要有3种环境:

1-发展

2-测试

3-生产

您可以针对不同的环境进行不同的配置,如本问题所示:

最后,我不建议直接使用Neo4j适配器,除非您确实有经验,并且由于业务需求需要直接访问它

我建议在核心适配器周围使用Neo4jrb包装器,如下所示:


更新

使用以下代码在项目的
config
目录中创建一个名为
neo4j.yml
的文件:

development:
  neo4j_api: http://localhost:7474

test:
  neo4j_api: http://something_else:7474

production:
  neo4j_api: http://maybe_something_else:7474
NEO4J_CONFIG = YAML.load_file(Rails.root.join('config/neo4j.yml'))[Rails.env]
然后在项目中创建一个
初始值设定项
,让我们称它为
neo4j.rb
,因此它的路径应该是:
config/initializers/neo4j.rb

在此初始值设定项中放入以下代码:

development:
  neo4j_api: http://localhost:7474

test:
  neo4j_api: http://something_else:7474

production:
  neo4j_api: http://maybe_something_else:7474
NEO4J_CONFIG = YAML.load_file(Rails.root.join('config/neo4j.yml'))[Rails.env]
然后,您可以在rails应用程序的任何部分访问
NEO4J_CONFIG
,如:

NEO4J_配置['NEO4J_api']

您的代码应该如下所示:

neo4j_adaptor = Neo4j::Core::CypherSession::Adaptors::HTTP.new(NEO4J_CONFIG['neo4j_api'])
neo4j_session = Neo4j::Core::CypherSession.new(neo4j_adaptor)

如何为现有rails应用程序使用Neo4jrb包装器?实际上,现在我正在尝试从postgres迁移到neo4j,因为这种配置必须在我已经存在的rails上完成app@SuriyaLakshmi看看我的最新帖子:)