Ruby DataMapper сохранить из модели - PullRequest
0 голосов
/ 04 сентября 2011

Я пытаюсь сохранить некоторые данные из объекта модели, но ничего не происходит :( Что я не прав?

class Gallery
  include DataMapper::Resource

  property :id, Serial
  property :title, String
  property :user, String
  property :album, String
  property :place, String
  property :fotki, Text
  property :date, Date
  property :created_at, DateTime

  default_scope(:default).update(:order => [:created_at.desc])

  def get_images
    if @fotki.nil? then
      fotki = Fotki.get(@user, @album)
      self.update(:fotki => fotki.to_json)
      puts 'Request'
      fotki
    else
      puts 'Use Cache'
      JSON.parse(@fotki)
    end
  end
end

1 Ответ

3 голосов
/ 21 ноября 2012

В datamapper произошла ошибка, которая может привести к следующей ситуации:

resource = SomeModel.new(attributes_from_somewhere)
resource.valid? # => true
resource.save   # => false, and no db interaction
resource.saved? # => false

Допустимый ресурс, который не удалось сохранить.Автоматическая ошибка.

Эту проблему тихой ошибки можно решить с помощью параметра raise_on_save_failre.Но сообщение об исключении все еще не имело смысла.Говорят только о #save, возвращаемом с false;).

Проблема возникает, когда значения, которые недопустимы для определенного свойства, сохраняются.Например, логическая или необязательная строка в свойстве date.

С помощью fix datamapper вызовет значимое исключение, когда собирается сохранить недопустимое значение для свойства.К сожалению, в настоящее время нет выпуска, который содержит исправление.Вам нужно будет попробовать основную ветку от https://github.com/datamapper/dm-core!

Отказ от ответственности: я автор исправления.

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