如何在 haml 中对复选框使用三元运算符?
How to use ternary operator for checkbox in haml?
我对如何使用三元运算符的 haml 语法来检查复选框是否被选中感到困惑。我有一个 color_id 列,它根据选中的复选框存储值。下面是我的代码:
.dress_color
.form-group
.checkbox.checkbox-primary.color_id
= f.check_box :color_id, {}
%label= t('.dark color')
- if f.object.long_dress_selected?
...............
- else
= f.check_box, checked: true ? ('color_id: black') : ('color_id: white')
我想在 if-else 条件的 else 部分检查 'dark_color' 复选框是否被选中。也就是说,如果选中该复选框,则 color_id 应设置为 'black',否则应设置为 'white'。
但是上面的代码显示错误为:
SyntaxError -html.haml:19: syntax error, unexpected tLABEL, expecting '='
_false(( f.check_box, checked: true ? ('color_id
^:
如何使用三元运算符检查复选框是否被选中?
提前致谢。
编辑:我尝试了语法
f.check_box(color_id:, {}, checked_value ="black", unchecked_value = "white")
但它给出了错误:
syntax error, unexpected ','
x(color_id:, {}, checked_value = "black", unch
^
file1.html.haml:40: syntax error, unexpected ')', expecting tSTRING_DEND
));}\n", 0, false);end;_hamlout.
check_box(method, options = {}, checked_value = "1", unchecked_value = "0")
Returns 为访问指定属性而定制的复选框标签,输入标签上的附加选项可以作为带有选项的散列传递。 checked_value 默认为 1,而默认的 unchecked_value 设置为 0,这对于布尔值很方便。
你的情况
f.check_box(color_id:, {}, checked_value ="black", uchhecked_value = "white")
参考 rails 文档 link here
我对如何使用三元运算符的 haml 语法来检查复选框是否被选中感到困惑。我有一个 color_id 列,它根据选中的复选框存储值。下面是我的代码:
.dress_color
.form-group
.checkbox.checkbox-primary.color_id
= f.check_box :color_id, {}
%label= t('.dark color')
- if f.object.long_dress_selected?
...............
- else
= f.check_box, checked: true ? ('color_id: black') : ('color_id: white')
我想在 if-else 条件的 else 部分检查 'dark_color' 复选框是否被选中。也就是说,如果选中该复选框,则 color_id 应设置为 'black',否则应设置为 'white'。 但是上面的代码显示错误为:
SyntaxError -html.haml:19: syntax error, unexpected tLABEL, expecting '='
_false(( f.check_box, checked: true ? ('color_id
^:
如何使用三元运算符检查复选框是否被选中?
提前致谢。
编辑:我尝试了语法
f.check_box(color_id:, {}, checked_value ="black", unchecked_value = "white")
但它给出了错误:
syntax error, unexpected ','
x(color_id:, {}, checked_value = "black", unch
^
file1.html.haml:40: syntax error, unexpected ')', expecting tSTRING_DEND
));}\n", 0, false);end;_hamlout.
check_box(method, options = {}, checked_value = "1", unchecked_value = "0")
Returns 为访问指定属性而定制的复选框标签,输入标签上的附加选项可以作为带有选项的散列传递。 checked_value 默认为 1,而默认的 unchecked_value 设置为 0,这对于布尔值很方便。
你的情况
f.check_box(color_id:, {}, checked_value ="black", uchhecked_value = "white")
参考 rails 文档 link here