2011-02-15 110 views
2

我在模型中有兩個布爾字段。有一個依賴關係,一次只能有一個是真的。在我的觀看頁面上,我想用formtastic將它們顯示爲無線電輸入。而不是單獨的,但作爲一個單一的廣播組。我知道有一個滑軌方式,但不知何故我無法找到它。兩個布爾字段。單一輸入字段。 Ruby on Rails

請幫忙。提前致謝。

回答

4

您可以創建一個虛擬屬性來獲取和設置適當的值。舉例來說,如果你有一個布爾名爲男性和一個布爾名爲女性,你可以同時控制與性別屬性是這樣的:

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的性別。