我实际上radio_button
在我的 Rails 项目中使用了表单助手。当一切正常时,代码本身对我来说并不好看:
_form.html.haml
#- Loop on durations types
- Product::DURATIONS.each_with_index do |name, index|
#- If new record, then select the first index by default
- unless @product.duration_type.present?
- checked = (index == 0) ? true : false
- else
#- Otherwise, if edit, then select the product value
- checked = (name == @product.duration_type) ? true : false
= f.radio_button :duration_type, name, checked: checked
= f.label :duration_type, name
产品.rb
DURATIONS = %w( Hour Day Week Month Year )
有没有更好的方法以更 DRY 和 Rails 的方式编写它?
非常感谢