2011-12-27 11 views
0

永続化レイヤー(ActiveRecord、MongoMapperなど)なしでRailsアプリケーションを作成しようとしています。私は--skip-active-recordrails new nice_appに使っています。これは、設定/ application.rbを変更しましたが、私はRailsの持つ新しい「モデル」を作成しようとすると、発生しました - rails g model nice_class - それはでnoobのように失敗する:Rails 3は永続化レイヤーのサポートなしで生成する

必須オプション「--orm」の値はありません

ActiveRecordをスキップすると、Railsジェネレータは使用できません。

答えて

1

(注)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を使っているということです。それだけではありませんが、マイグレーションフォルダ(必要のないファイル)、モデルフォルダの別のファイル(必要なファイル)、テストまたはスペックフォルダのファイルあなたが必要とするはずのもの)。彼らはあなたが欲しいと思えば、これらを自分で作ることができます。そして、とにかく空に近づきます。

ActiveRecordに基づいていないモデルの詳細については、Ryan Batesの「Tableless Models」Railscast(http://railscasts.com/episodes/193-tableless-model)をご覧ください。

これらの非ActiveRecordモデルをたくさん作成しようとするなら、あなたが望むものを正確に行う独自のジェネレータを書くことができます。

幸運のベスト。

1

Railsジェネレータによって生成されるモデルは、ActiveRecordのサブクラスです。このモデルは、ORMを持つアプリケーションのコンテキストでのみ意味があります。 がActiveRecordのサブクラスではない(したがってORMに関連付けられていない)ではないモデルを作成できますが、手動で行う必要があります。

+0

はい、私は今すぐ入手しましたが、Rails GeneratorsはMongoMapperの設定を読み込み、MapperDocument用のmixinを含めることができるので奇妙です。非ORMレイヤーも設定されていれば、空の "モデルクラス"を返すと思います。 – hlegius

関連する問題