Rails 3 генерирует без поддержки персистентного уровня - PullRequest
0 голосов
/ 27 декабря 2011

Я пытаюсь создать приложение Rails без постоянного слоя (ActiveRecord, MongoMapper и т. Д.).Я использовал --skip-active-record на rails new nice_app.Это изменило config / application.rb, но когда я пытаюсь создать новую "модель" с помощью Rails generate - rails g model nice_class - она ​​перестала работать как нуб с:

Не указано значение для требуемых параметров'--orm'

Итак, если я пропущу ActiveRecord, я не смогу использовать генераторы Rails?

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Обратите внимание на задачи, которые вызываются при запуске rails g model nice_class:

  invoke  active_record
  create    db/migrate/20111227183458_create_nice_classes.rb
  create    app/models/nice_class.rb
  invoke    rspec
  create      spec/models/nice_class_spec.rb

Первое, что вы заметили, это то, что он использует ActiveRecord для генерации модели.Помимо этого, однако, это не делает ничего особенного: создает файл в папке миграции (который вам не нужен), другой файл в папке модели (который вам нужен) и файл в папке test или spec (что вам «нужно» нужно).Вы можете сделать это сами, если хотите, они в любом случае довольно близки к тому, чтобы быть пустыми.

Для получения информации о моделях, не основанных на ActiveRecord, взгляните на Railscast, разработанный Райаном Бейтсом "Railsc:"1007 *http://railscasts.com/episodes/193-tableless-model.

Если вы собираетесь много делать таких моделей, отличных от ActiveRecord, вы можете написать собственный генератор, который будет делать именно то, что вы хотите.

Удачи.

1 голос
/ 27 декабря 2011

Модели, сгенерированные генераторами Rails, являются подклассами ActiveRecord, что действительно имеет смысл только в контексте приложения с ORM.Конечно, вы можете создавать модели, которые не являются подклассами ActiveRecord (и, следовательно, не связаны с ORM), но вам придется делать это вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...