我想在保存到我的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
[编辑]
我最后将此行更改为:
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
它有效! 但是还有另一种解决方案来列出属性空白?条件?
答案 0 :(得分:1)
您的模型中没有任何验证。 浏览此链接
http://guides.rubyonrails.org/active_record_validations_callbacks.html