Я хочу отключить ActiveRecord в Rails 4. Я сделал следующее в config/application.rb
require File.expand_path('../boot', __FILE__)
# require 'rails/all' -- commented
require "action_controller/railtie"
require "action_mailer/railtie"
#require "active_resource/railtie" no need
#require "rails/test_unit/railtie" no need
#require "sprockets/railtie" no need
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env)
module MyApp
class Application < Rails::Application
config.app_middleware.delete "ActiveRecord::ConnectionAdapters::ConnectionManagement"
end
end
У меня ошибка
/home/alex/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/railtie/configuration.rb:95:in
method_missing: undefined method active_record for #<Rails::Application::Configuration:0x00000002005c38> (NoMethodError)
ruby-on-rails
ruby
ruby-on-rails-4
ア レ ッ ク ス
источник
источник
rails new ... -O
отключить активную запись?Ответы:
Если вы создаете новое приложение, вы можете использовать
-O
для пропуска ActiveRecord:Для существующих приложений:
1. Удалите драгоценные камни адаптера базы данных из вашего Gemfile (mysql2, sqlite3 и т. Д.)
2. Измените свой
config/application.rb
Удалите
require 'rails/all
строку и требуйте фреймворков (среди доступных в вашейrails
версии список может быть разным, не просто копируйте), которые вы хотите использовать, например:Удалить
config.active_record.raise_in_transactional_callbacks = true
изconfig/application.rb
3. Удалите
config/database.yml
файлdb/schema.rb
и миграции (если есть)4. Удалить отметку о переносе.
test/test_helper.rb
5. Удалите любую конфигурацию ActiveRecord из ваших
config/environments
файлов (это является причиной вашей ошибки)Это все, что вам нужно сделать для пустого приложения Rails. Если вы столкнетесь с проблемами, вызванными вашим существующим кодом, трассировка стека должна предоставить вам достаточно информации о том, что вам нужно изменить. Например, у вас может быть некоторая конфигурация ActiveRecord в ваших инициализаторах.
источник
require 'rails/all'
входит, можно найти здесь .rails new my_app -O
месяц назад. Теперь я хочу вернуть активную запись. Какие файлы / драгоценные камни / конфигурацию мне нужно добавить сейчас?config.active_record.raise_in_transactional_callbacks = true
изconfig/application.rb
.Привет, это то, что дает новый new_app -O рельсы по умолчанию
внутри вашего config / application.rb
Кроме того, он поставляется без database.yml и без db / migrate / * и schema.rb
источник
require "action_cable/engine"
Поскольку это все еще первое попадание при поиске в Google по отключению активной записи для Rails 5, я добавлю это здесь:
Для Rails 5
Выполните все шаги из ответа @mechanicalfish, но также удалите строку
из
источник
Те, кто использует гем rails-api , могут столкнуться с аналогичной ошибкой при использовании
--skip-active-record
флага при выполненииrails-api new my_api
. Текущее исправление (до тех пор, пока не будет выпущена новая исправленная версия гема) состоит в том, чтобы отредактировать гем rails-api так, чтобы он был зафиксирован . Используйтеbundle open
и замените старыйGemfile
на новый исправленный. Повторите попытку, и все будет готово.источник
Для отключения ActiveRecord в Rails 4.2 вы можете создать config / initializers / middleware.rb
См. Промежуточное ПО для граблей терминала
источник
Для Rails 5:
Если вы создаете новое приложение
Используйте
--skip-active-record
опцию для создания приложения без базы данных:rails new myApp --skip-active-record
источник
Для подключаемых модулей (или гемов) Rails с
spec/dummy
приложениемКогда ваше приложение rails живет
spec/dummy
и вы запускаете свой сервер из корневого каталога плагина. Вы все еще можете получать следующую ошибку:Чтобы этого избежать, удалите содержимое
require rails/all
внутри файлаbin/rails
и потребуются фреймворки, которые вы хотите использовать, например:источник
Для Ruby On Rails версии 5.1.x
источник