如何从现有的Rails 4应用程序中移除ActiveRecord?

6
我开始了一个Ruby on Rails项目,其中包含了一个使用ActiveRecord和Neography的简单推荐系统。现在我发现了neo4j.rb,它将大大简化我的工作。 :-)
我已经学会了如何创建一个不包含ActiveRecord的新应用程序,如下所示:
rails new xyz -O

我可以这样做,并将大部分文件/代码复制粘贴到新项目中。还有更简单的方法吗?
我仍在考虑是否需要那一步。能否并行使用neo4j.rb和ActiveRecord?我正在考虑使用ActiveRecord运行身份验证系统(例如Devise),并在neo4j中运行我的推荐系统。有人有这种方法的经验吗?

可能是禁用Rails 4的ActiveRecord的重复内容。 - webster
2个回答

13

请按以下步骤操作:

  1. 从你的Gemfile中移除数据库适配器gem,例如mysql2、sqlite3等。

  2. application.rb中删除require 'rails/all'并引入你想要使用的框架(在你的rails版本中可用的列表不同,请勿直接复制),例如:

  3. require "action_controller/railtie"
    require "action_mailer/railtie"
    require "sprockets/railtie"
    require "rails/test_unit/railtie"
    
  4. 删除 database.yml, schema.rb 以及所有的迁移

  5. test/test_helper.rb 中删除迁移检查
  6. config/environments 中删除所有与activerecord相关的配置

希望这可以帮到您!

来源 - Disable ActiveRecord for Rails 4


1
是的,谢谢。您对我问题的第二部分也有输入吗? “我仍在考虑是否甚至需要那一步。是否可以同时使用neo4j.rb和ActiveRecord?我正在考虑使用ActiveRecord运行身份验证系统(例如Devise),并在neo4j中运行我的推荐系统。有人有这种方法的经验吗?” - Joe Eifert
1
这是一个很棒的答案。还要注意,该宝石的维基页面有一个命令,您可以使用它来设置一个新的Rails应用程序,而不需要ActiveRecord:https://github.com/neo4jrb/neo4j/wiki/Neo4j-v3-Setup#usage-from-rails - Brian Underwood

-1
对于使用rails-api gem的人,当使用--skip-active-record标志创建rails-api new my_api时可能会遇到类似的错误。当前的解决方法(直到发布新的修正版本的gem)是编辑你的rails-api gem,加入此提交记录。使用 bundle open 命令打开并用新的纠正后的Gemfile替换旧的Gemfile。重新运行即可解决问题。

哪个相似的错误和哪个提交?你能提供链接吗? - Joe Eifert
如果你复制粘贴一个答案,你应该:1. 做正确的事情(包括链接)2. 链接到原始答案。 - Joe Eifert
如果你不了解宝石或api的概念,那么没有人能帮助你。 - Hardik Hardiya
那么你为什么要再次问类似的问题呢? - Hardik Hardiya
我没有看到另一个问题。对此很抱歉。否则我只会问我的问题的第二部分。 - Joe Eifert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接