向表单添加预填充 checkboxes/radio 按钮时避免重复代码
Avoid duplicate code when adding pre-filled checkboxes/radio buttons to your form
在我的预填表单中添加单选按钮和复选框时,我发现自己不得不重复代码。
理想情况下,我想通过变量声明是否应选择输入字段。比如:
- checked = false # or `true`, `false`, `nil`, `""`
%input{:type => "radio", :name => "foo", :value => "bar", :checked => checked}= "foo"
%input{:type => "checkbox", :name => "foo", :value => "bar", :checked => checked}= "foo"
但结果是,无论我在 checked
变量中输入什么值,它都会导致输入字段最终被选中。
我的解决方案导致很多行重复代码:
- checked = false # or `true`, `false`, `nil`, `""`
- if true
%input{:type => "radio", :name => "foo", :value => "bar", :checked => true}= "foo"
- else
%input{:type => "radio", :name => "foo", :value => "bar"}= "foo"
- if true
%input{:type => "checkbox", :name => "foo", :value => "bar", :checked => true}= "foo"
- else
%input{:type => "checkbox", :name => "foo", :value => "bar"}= "foo"
谁知道更好的方法?
在我的预填表单中添加单选按钮和复选框时,我发现自己不得不重复代码。
理想情况下,我想通过变量声明是否应选择输入字段。比如:
- checked = false # or `true`, `false`, `nil`, `""`
%input{:type => "radio", :name => "foo", :value => "bar", :checked => checked}= "foo"
%input{:type => "checkbox", :name => "foo", :value => "bar", :checked => checked}= "foo"
但结果是,无论我在 checked
变量中输入什么值,它都会导致输入字段最终被选中。
我的解决方案导致很多行重复代码:
- checked = false # or `true`, `false`, `nil`, `""`
- if true
%input{:type => "radio", :name => "foo", :value => "bar", :checked => true}= "foo"
- else
%input{:type => "radio", :name => "foo", :value => "bar"}= "foo"
- if true
%input{:type => "checkbox", :name => "foo", :value => "bar", :checked => true}= "foo"
- else
%input{:type => "checkbox", :name => "foo", :value => "bar"}= "foo"
谁知道更好的方法?