我有一个包含标志列的模型。列内部是表示标志状态的数字。启用的所有标志均由0b1111111表示,各个选项类似于0b0010000或0b0000001。我希望有一个带复选框的表单(在这种情况下是7个复选框),我希望将params [:flags]设置为按位或所选框。有谁知道这样做的方法?
答案 0 :(得分:0)
你应该首先阅读bitwise numbers,因为你所存储的不是按位,你只需按顺序翻转7 0和1。
如果您希望按位使用存储整数,使用7复选框,您的列将需要支持最多256的数字。
check_box_tag有一个'checked'属性,您可以简单地将按位运算符传递给它返回一个布尔值
check_box_tag("name", value, (persisted_value | value of this checkbox))