注意當您運行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生成模型。除此之外,它並沒有做太多:在migrations文件夾(你不需要)中創建一個文件,在model文件夾中創建另一個文件(你確實需要),以及在test或spec文件夾中創建一個文件(你應該'需要)。你可以自己做,如果你想要的話,他們已經非常接近於空了。
有關不基於ActiveRecord的模型的詳細信息,請查看Ryan Bates的「Tableless Models」Railscast:http://railscasts.com/episodes/193-tableless-model。
如果您打算製作這些非ActiveRecord模型的種類很多,您可以編寫自己的生成器,它完全符合您的要求。
祝你好運。
是的,我現在明白了,但這很奇怪,因爲Rails生成器可以讀取MongoMapper配置,併爲MapperDocument包含一個mixin。我認爲如果還配置了非ORM層,它可能會返回一個空的「模型類」。 – hlegius