0
我有一个应用程序,用户可以在其中创建包含许多asset_allocations的篮子。当更新时的值为空时删除记录
篮型号
class Basket < ActiveRecord::Base
has_many :asset_allocations, :dependent => :delete_all
validates :name, presence: true
validates_uniqueness_of :name, allow_blank: true
accepts_nested_attributes_for :asset_allocations, :reject_if => lambda {|a| a[:ratio].blank?}, :allow_destroy => true
end
AssetAllocation型号
class AssetAllocation < ActiveRecord::Base
belongs_to :basket
validates :ratio, :numericality => { :greater_than => 0 }, allow_blank: true
end
上面的代码完美地工作创造新的纪录(它忽略了当比值为空所有asset_allocation),但我怎么能删除记录asset_allocation表的值是否为空值?
比方说,编辑表单上我从56改变allocation2值清空和allocation3将是一个新的记录,然后击中更新按钮应该删除allocation2从数据库插入分配3。
我猜你会需要你的病情的before_filter – Fallenhero