Теперь, когда бета-версия Rails 3 вышла, я подумал, что смогу переписать приложение, над которым я только что начал работать, в бета-версии Rails 3, чтобы прочувствовать это и получить некоторую фору. Приложение использует MongoDB и MongoMapper для всех своих моделей и поэтому не нуждается в ActiveRecord. В предыдущей версии я выгружал activerecord следующим образом:
config.frameworks -= [ :active_record ] # inside environment.rb
В последней версии это не работает - просто выдает ошибку:
/Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta/lib/rails/configuration.rb:126:in
`frameworks': config.frameworks in no longer supported. See the generated
config/boot.rb for steps on how to limit the frameworks that will be loaded
(RuntimeError)
from *snip*
Конечно, я посмотрел на boot.rb, как он предлагал, но, насколько я понимаю, здесь нет ни малейшего представления о том, как я мог бы выгрузить AR. Причина, по которой мне нужно это сделать, заключается в том, что не только глупо загружать что-то, что я не хочу, но и он жалуется на неспособность установить соединение с БД, даже когда я пытаюсь запустить генератор для контроллера. Это потому, что я стер database.yml
и заменил его сведениями о подключении для MongoDB, чтобы использовать эту суть для использования database.yml для сведений о подключении MongoDB. Не уверен, почему он вообще должен иметь возможность инициировать соединение с БД, чтобы все равно сгенерировать контроллер ....
Кто-нибудь знает, как это сделать в Rails 3?
источник
require "sprockets/railtie"
в своемapplication.rb
файле.--skip-active-record
. Обратите внимание на лишнее тире.Рельсы 4
Я искал, как отключить его в рельсах 4, и нашел только этот ответ, который больше не работает в рельсах 4. Вот как вы можете сделать это в рельсах 4 (проверено в RC1).
В новом проекте
В существующем проекте
gem 'sqlite3'
илиgem 'pg'
.В config / application.rb замените
require 'rails/all'
наВ config / environment / development.rb удалите или закомментируйте
config.active_record.migration_error = :page_load
Возможно, вам придется удалить помощники active_record из spec_helper (через VenoM в комментариях)
Возможно, вам нужно удалить промежуточное ПО ConnectionManagement (похоже, в случае с единорогом):
config.app_middleware.delete "ActiveRecord::ConnectionAdapters::ConnectionManagement"
(через https://stackoverflow.com/a/18087332/764342 )Надеюсь, это поможет другим, ищущим, как отключить ActiveRecord в Rails 4.
источник
Для нового приложения rails вы можете исключить активную запись, указав параметр --skip-active-record. Например:
источник
Если вы сгенерировали новый проект с помощью Rails 3.2, вам также необходимо закомментировать:
и
в вашем файле development.rb .
источник
Все вышесказанное верно. Еще одна вещь, которую мне пришлось сделать в rails 3.1, - это закомментировать
в
config/application.rb
.источник
Если вы используете rspec, вам также необходимо удалить (в spec_helper):
и удалить
источник
Также комментарий из
(отмечено на рельсах 3.2.13)
источник