【发布时间】:2011-02-15 06:25:13
【问题描述】:
我的模型中有两个布尔字段。有一种依赖关系,一次只能有一个为真。在我的视图页面上,我想使用 formtastic 将它们显示为无线电输入。不是单独的,而是作为一个单一的广播组。我知道有一种rails方式,但不知何故我找不到它。
请帮忙。提前致谢。
【问题讨论】:
标签: ruby-on-rails forms formtastic radio-group
我的模型中有两个布尔字段。有一种依赖关系,一次只能有一个为真。在我的视图页面上,我想使用 formtastic 将它们显示为无线电输入。不是单独的,而是作为一个单一的广播组。我知道有一种rails方式,但不知何故我找不到它。
请帮忙。提前致谢。
【问题讨论】:
标签: ruby-on-rails forms formtastic radio-group
您可以创建一个虚拟属性来获取和设置适当的值。例如,如果您有一个名为男性的布尔值和一个名为女性的布尔值,您可以使用如下所示的性别属性来控制两者:
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'
当然,您始终可以选择将这些值组合成一个单一的三态属性,例如可以是“M”、“F”或 NULL 的性别。
【讨论】: