1

プロジェクトで datamapper と mongoid を使用しようとしています。リンクhttps://github.com/solnic/dm-mongo-adapterをたどりました。しかし、それほど多くの情報はありません。この投稿でdatamapperと sqlite3 アダプターに同化します: http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-working-with-datamapper/

コンソールで「ruby rm.db」を実行すると、「dm.rb:1:in `': uninitialized constant DataMapper (NameError)」エラーが発生します。

この問題を解決するにはどうすればよいですか? 以下の gemfile にこれらの gem を追加しました。

dm-core
dm-aggregates
dm-migrations
mongo
mongodb
mongo_ext 

次に、プロジェクトのルートにあるdm.rbという名前のファイルに以下のコードを追加しました。

DataMapper.setup(:default,
  :adapter  => 'mongo',
  :database => 'my_mongo_db',
)

# Define resources
class Student
  include DataMapper::Mongo::Resource

  property :id, ObjectId
  property :name, String
  property :age, Integer
end

class Course
  include DataMapper::Mongo::Resource

  property :id, ObjectId
  property :name, String
end

# No need to (auto_)migrate!
biology = Course.create(:name => "Biology")
english = Course.create(:name => "English")

# Queries
Student.all(:age.gte => 20, :name => /oh/, :limit => 20, :order => [:age.asc])

# Array and Hash as a property
class Zoo
  include DataMapper::Mongo::Resource

  property :id, ObjectId
  property :opening_hours, Hash
  property :animals, Array
end

Zoo.create(
  :opening_hours => { :weekend => '9am-8pm', :weekdays => '11am-8pm' },
  :animals       => [ "Marty", "Alex", "Gloria" ])

Zoo.all(:animals => 'Alex')
4

1 に答える 1