我想要做的事:如何在Ruby中存儲的國家爲整數的數據庫上軌
我試圖找出是否有一個快速的方式來獲得country_select存儲代表整數而不是自己儲存國名/字符串。我正在使用country select gem。
可能的解決辦法:我想這是可以做到
的一種方法是,如果我安裝創業板作爲一個插件和編輯國家陣列,與整數主陣列和一個字符串例如內的數組COUNTRIES = [[「United Kingdom」,1],[「United States」,2]]
這樣在我的表單中將會有表示字符串的值。然後我可以在我的個人資料表中有一個country_id列,其中用戶選擇的國家ID將被存儲。我將有一個單獨的表格「國家」,這些國家將存儲國家,我將使用profiles表格的country_id來引用國家/地區表格中的正確國家/地區。
這樣做會意味着我仍然可以獲得gem/plugin的良好功能,例如在選擇列表頂部有優先國家/地區。我不知道該怎麼做我自己的東西。
這將需要很長時間,但它可以工作。如果我選擇這個解決方案,我會把插件放在哪裏?供應商文件夾在我的apps目錄中?
但是,如果有更快的方法來做到這一點,我想這樣做。
一個更大的圖片:
好吧,我有一個搜索表單,用戶可以在瀏覽網站的用戶通過過濾出的結果:
文本輸入位置 性別 性慾 婚姻狀況 國家
我使用思維獅身人面像和過濾屬性時,似乎屬性需要表示整數,因爲一切正常,但國家年。
我使用的是country select gem,它似乎只存儲字符串,而不是表示字符串的整數。
我想將它存儲爲整數。
這裏有一些contants我用我的搜索形式:
module ApplicationHelper
GENDER = [["Select", nil],["Male", 1],["Female", 2]]
ETHNICITY = [["Select", nil],['Black', 1 ],['White/Caucasian', 2 ],['European', 3 ],['Asian', 4 ],
['Indian', 5 ],['Middle Eastern', 6 ],['Native American', 7 ],['Hispanic', 8 ],
['Mixed Race', 9 ],['Other Ethnicity', 10 ]]
MARITAL_STATUS = [[' Select', nil],['Single', 1 ],['Dating', 2 ],['In relationship', 3 ],['Married', 4 ],
['Living Together', 5 ],['Divorced', 6 ],['Separated', 7 ],['Widowed', 8 ]]
SEXUAL_PREFERENCE = [[' Select', nil],['Straight', 1 ],['Gay', 2 ],['Bi-sexual', 3 ]]
end
搜索/瀏覽形式:
<%= form_tag browsers_path, :method => 'get' do %>
<p>
Location: <%= text_field_tag :location, params[:location] %>
<br />
Country: <%= country_select :country, [ "United Kingdom", "France", "Germany" ] %>
<br />
Gender: <%= select_tag :gender, options_for_select(ApplicationHelper::GENDER, params[:gender]) %>
<br />
Ethnicity: <%= select_tag :ethnicity, options_for_select(ApplicationHelper::ETHNICITY, params[:ethnicity]) %>
<br />
Marital status: <%= select_tag :marital_status, options_for_select(ApplicationHelper::MARITAL_STATUS, params[:marital_status]) %>
<br />
Sexual preference: <%= select_tag :sexual_preference, options_for_select(ApplicationHelper::SEXUAL_PREFERENCE, params[:sexual_preference]) %>
<br />
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
,你可以看到每個陣列有一個字符串和一個整數。如果您從country_select gem中檢出數組,則只有字符串。
我希望能夠盡我所能做到最好的方式的解釋和一個清晰的例子,如果可能的話。
我希望這篇文章有意義。
親切的問候
聽起來很簡單,我不知道我知道該怎麼做。我的意思是我可以做的虛擬屬性,但後來翻譯和設置我覺得有點丟失閱讀的價值。 – LondonGuy 2012-01-29 17:49:18