Как настроить Ruby on Rails без базы данных?

Было бы удобно использовать Ruby on Rails для небольшого проекта веб-сайта, который не нуждается в текущей базе данных. Я знаю, что могу создать пустую базу данных в MySQL и перейти оттуда, но кто-нибудь знает лучший способ запуска Rails без базы данных?

благодаря

Раскомментируйте эту строку в файле environment.rb :

 config.frameworks -= [ :active_record, :active_resource, :action_mailer] 

Для 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

Для существующего проекта Rails 4/5 в файле config/application.rb имеется следующая строка:

 require 'rails/all' 

(В качестве ссылки эта строка загружает этот файл )
Поэтому вместо загрузки 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 "sprockets/railtie" require "rails/test_unit/railtie" 

Следите за комментариями, чтобы знать, что нужно загружать в отношении версии Rails. Затем прокомментируйте также следующие строки:

 #config/environments/development.rb config.active_record.migration_error = :page_load #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 

При желании вы можете удалить любую ссылку на class ActiveRecord .

 rm app/models/application_record.rb 

ОБНОВЛЕНИЕ: см. « Rails 3» – как мне вообще избежать базы данных? ‘вопрос для обновления об этом с помощью Rails 3.

Если вам не нужна firebase database, вам, вероятно, не нужно будет иметь большую часть Rails. Возможно, вам понадобится более малая настраиваемая среда для работы.

Sinatra – это крошечная структура, которая отлично подходит для обслуживания основных статических страниц.

Но если вы настаиваете на использовании Rails, вот статья, которая покажет вам, как это сделать или здесь .

В Rails 4 при запуске нового проекта вы можете использовать -O или -skip-active-record

 rails new my_project -O rails new my_project --skip-active-record 

Если вы уже создали проект, вам нужно будет прокомментировать

  require "active_record/railtie" 

из config / application.rb и

  config.active_record.migration_error = :page_load 

из config / environment / development.rb

  • Rails - передача параметров в link_to
  • Поймать все исключения в controllerе рельсов
  • путают autoload_paths vs eager_load_paths в рельсах 4
  • rails от многих до многих
  • Проверить наличие одного поля (XOR)
  • Rails: ссылки «Next post» и «Previous post» в моем представлении, как?
  • Имеется ли документация для типов столбцов Rails?
  • Переадресовывают ли redirect_to и обмениваются?
  • Rails select helper - выбранное значение по умолчанию, как?
  • Обезьяна патч в Rails 3
  • переменная экземпляра против символа в rubyе на рельсах (form_for)
  • Давайте будем гением компьютера.