Вот еще одно решение, которое я придумал:
require 'dm-core'
require 'dm-validations'
require 'dm-more'
record = Committer.find_or_create(:name => committer)
Если вы используете это в sinatra, то, вероятно, требуется dm-more
другие проблемы Мое решение состояло в том, чтобы потребовать мой собственный файл, который только
содержал следующий код:
module DataMapper
module Model
def first_or_create(conditions = {}, attributes = {})
first(conditions) || create(conditions.merge(attributes))
end
alias find_or_create first_or_create
end
end