Неблокирующая проверка данных перед сохранением - PullRequest
0 голосов
/ 14 марта 2011

Я хочу проверить данные перед сохранением в моем приложении rails. Если данные не соответствуют критериям проверки, их нельзя сохранить, и пользователь не был предупрежден.

На самом деле у меня есть это в соответствующем файле модели:

class Product < ActiveRecord::Base
    belongs_to :content
    before_validation :strip_whitespace  
    private
        def strip_whitespace
            self.label = self.label.strip
            self.price = self.price.strip
        end
end

Я пробовал что-то подобное в моей другой модели:

class Content < ActiveRecord::Base
    belongs_to :user
    has_many :products, :dependent => :destroy
    accepts_nested_attributes_for :products, :reject_if => :all_blank
end

[EDIT]

Я наконец изменил эту строку на:

class Content < ActiveRecord::Base
    belongs_to :user
    has_many :products, :dependent => :destroy
    accepts_nested_attributes_for :products, :reject_if =>  proc {|attributes| 
        attributes['label'].blank?
        attributes['price'].blank?
        attributes['img_src'].blank?
        attributes['link'].blank?
    }
end

И это работает! Но есть другое решение для перечисления атрибутов с blank? condition?

1 Ответ

1 голос
/ 14 марта 2011

У вас нет подтверждения в вашей модели.Перейдите по этой ссылке

http://guides.rubyonrails.org/active_record_validations_callbacks.html

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