Почему мои проверки DataMapper не работают? - PullRequest
0 голосов
/ 05 ноября 2010

Этот пример не подтверждает наличие заголовка для меня:

require 'rubygems'
require 'dm-core'
require 'dm-migrations'
require 'dm-validations'

db_name = 'rvtest.sqlite'

DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite://' + Dir.pwd + '/' + db_name)

class Task
  include DataMapper::Resource
  property :id,         Serial
  property :title,      String

  validates_presence_of :title
end

DataMapper.finalize
DataMapper.auto_upgrade!

Тем не менее, это делает:

require 'rubygems'
require 'dm-core'
require 'dm-migrations'
require 'dm-validations'

db_name = 'rvtest.sqlite'

DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite://' + Dir.pwd + '/' + db_name)

class Task
  include DataMapper::Resource
  property :id,         Serial
  property :title,      String, :required => true

end

DataMapper.finalize
DataMapper.auto_upgrade!

Почему они работают по-другому? Если я зайду в irb, потребуется этот файл и введите Task.new.save!, первый возвращает true, а второй false.

1 Ответ

2 голосов
/ 05 ноября 2010

сохранить!не вызывает никаких обратных вызовов, что означает, что он не вызывает проверки.попробуйте сохранить

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