我有一个模特:
class Delivery < ActiveRecord::Base
has_and_belongs_to_many :dropoff_points, :join_table => :delivery_dropoff_points
end
此模型有一个字段scheduled_date
。
这是一个DeliveryDropoffPoint类:
class DeliveryDropoffPoint < ActiveRecord::Base
belongs_to :delivery
belongs_to :dropoff_point
end
我需要确保当我在任何指定日期在rails-admin中创建记录时,下降点会获得一次且只有一次交付。
我尝试实施before_save
过滤器:
class DeliveryDropoffPoint < ActiveRecord::Base
belongs_to :delivery
belongs_to :dropoff_point
def set_scheduled_date
self.scheduled_date = delivery.scheduled_date
end
before_save :set_scheduled_date
validates_uniqueness_of :branch_floor, :scope => :scheduled_date, :message => "floor can only have one job assigned on a given day"
end
但遗憾的是,rails-admin
似乎忽略了它。在rails-admin的选择框中选择项目时,是否还有其他方法可以在连接表中设置列的值?
谢谢!