标签: ruby-on-rails ruby-on-rails-3
我在rails中有一个简单的表/模型vat_rates。在创建具有vat_rate_id的新相关项目项时,管理员需要能够选择一个,并且只选择其中一个作为在HTML表单上选择的默认费率。我在default表中添加了一个布尔vat_rates列。
vat_rates
vat_rate_id
default
什么是最直接的,类似于rails的方式,以确保任何时候只有一个vat_rate可以作为默认值?
vat_rate
如果没有默认值,我就不会感到烦恼,只是不会有一个默认值。
答案 0 :(得分:2)
您可以添加自定义验证方法,例如this,如果已经选择了另一个vat_rate,则会返回错误。或者,您可以添加before_update或after_update回调,如this,以便在更新时将所有其他默认值设置为false。