将Ruby on Rails用于一个目前不需要数据库的小型网站项目会很方便.我知道我可以在MySQL中创建一个空数据库并从那里开始,但有没有人知道在没有数据库的情况下运行Rails的更好方法?
谢谢
RSK*_*RSK 104
对于Rails 3和Rails 4:
使用
-O(Capital'O')或--skip-activerecord选项生成没有数据库的应用程序.
rails new myApp -O
要么
rails new myApp --skip-activerecord
这个答案是从这里转发的
对于Rails 5:
使用
--skip-active-record选项生成没有数据库的应用程序
注意额外的连字符' - '而不是之前的Rails版本.
rails new myApp --skip-active-record
typ*_*tch 55
取消注释environment.rb文件中的这一行:
config.frameworks -= [ :active_record, :active_resource, :action_mailer]
Run Code Online (Sandbox Code Playgroud)
Alt*_*gos 47
对于现有的Rails 4/5项目,在您的config/application.rb文件中,您有以下行:
require 'rails/all'
Run Code Online (Sandbox Code Playgroud)
(作为参考,该行正在加载此文件)
因此,您必须单独加载每个库,而不是加载ALL,如下所示:
# active_record is what we're not going to use it, so comment it "just in case"
# require "active_record/railtie"
# This is not loaded in rails/all but inside active_record so add it if
# you want your models work as expected
require "active_model/railtie"
# And now the rest
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_view/railtie"
require "active_job/railtie" # Only for Rails >= 4.2
require "action_cable/engine" # Only for Rails >= 5.0
require "active_storage/engine" # Only for Rails >= 5.2
require "action_mailbox/engine" # Only for Rails >= 6.0
require "action_text/engine" # Only for Rails >= 6.0
require "sprockets/railtie"
require "rails/test_unit/railtie"
Run Code Online (Sandbox Code Playgroud)
密切关注评论,了解有关Rails版本的内容.然后评论以下几行:
#config/environments/development.rb
config.active_record.migration_error = :page_load
config.active_record.verbose_query_logs = true
#config/environments/production.rb
config.active_record.dump_schema_after_migration = false
#spec/rails_helper.rb
ActiveRecord::Migration.maintain_test_schema!
# Only for Rails >= 5.0
#config/initializers/new_framework_defaults.rb
Rails.application.config.active_record.belongs_to_required_by_default = true
Run Code Online (Sandbox Code Playgroud)
您可以选择删除对类的任何引用ActiveRecord.
rm app/models/application_record.rb
Run Code Online (Sandbox Code Playgroud)
小智 15
在Rails 4中,当启动一个新项目时,你可以使用-O或--skip-active-record
rails new my_project -O
rails new my_project --skip-active-record
Run Code Online (Sandbox Code Playgroud)
如果您已经创建了项目,则需要发表评论
require "active_record/railtie"
Run Code Online (Sandbox Code Playgroud)
来自config/application.rb和
config.active_record.migration_error = :page_load
Run Code Online (Sandbox Code Playgroud)
来自config/environments/development.rb
| 归档时间: |
|
| 查看次数: |
59253 次 |
| 最近记录: |