我的模型中有两个布尔字段。有一种依赖关系,一次只能有一个为真。在我的视图页面上,我想使用 formtastic 将它们显示为无线电输入。不是单独的,而是作为一个单一的广播组。我知道有一种轨道方式,但不知何故我找不到它。
请帮忙。提前致谢。
我的模型中有两个布尔字段。有一种依赖关系,一次只能有一个为真。在我的视图页面上,我想使用 formtastic 将它们显示为无线电输入。不是单独的,而是作为一个单一的广播组。我知道有一种轨道方式,但不知何故我找不到它。
请帮忙。提前致谢。
您可以创建一个虚拟属性来获取和设置适当的值。例如,如果您有一个名为男性的布尔值和一个名为女性的布尔值,您可以使用如下所示的性别属性来控制两者:
class User
def gender= gender
self.male = (gender == 'M')
self.female = (gender == 'F')
end
def gender
male ? 'M' : 'F'
end
end
然后,您可以有一个用于选择性别的单选按钮组:
radio_button_tag :gender, 'M'
radio_button_tag :gender, 'F'
当然,您始终可以选择将这些值组合成单个 3 态属性,例如可以是“M”、“F”或 NULL 的性别。