3
在數據庫中,如果性別爲女性,則存儲0,如果性別爲男性,則存儲1。Tinyint和選擇標籤與Rails在性別選擇
我有一個這樣的表單字段:
<%= myobject.select(:gender, options_for_select([['Male', 1], ['Female', 0]]), {:prompt => 'Select Gender'})%>
效果很好時:
- 領域不已經選擇了「性別選擇」(無值的對象存在) 選項。
- 領域是數據庫中的男性已選男選項
然而,如果該字段爲女性它顯示了選擇性別選項。我相信是因爲數據庫中的0在被檢索時被認爲是錯誤的(因爲Rails假設Mysql中的0爲假),因此在select中它認爲它必須提示非值文本。
我應該如何處理這種情況,假設我無法觸及數據庫結構。
AR認爲'tinyint'對於MySQL來說意味着'boolean',這就是1和0混合來自的地方。你能改變你的模式嗎? – 2012-02-14 21:28:40
我敢打賭,我可以......我只是想知道是否有這種情況下的解決方案... – Nobita 2012-02-14 21:42:34