0
在Rails 4,我有以下結構:Rails的多選靜態哈希 - 如何將值保存到數據庫
用戶模型
has_many :user_languages
USER_LANGUAGE模式
belongs_to :user
在我的用戶視圖中,我有以下內容:
<%= form_for @user do |f| %>
<%=f.select("user_languages", languages, {selected: "EN"}, {:multiple => true})%>
<% end %>
我希望用戶選擇他/她流利說話的語言並將它們保存在數據庫中的user_language表中。對於每種語言,我們都會在該表中添加一行。
知道語言是靜態散列/數組,而不是數據庫中的表,我如何將這些值保存到數據庫?這種方法根本不起作用,即使在控制器中將它們列入白名單中,也沒有任何內容保存在數據庫中。
我從我的應用程序某處的全局變量中獲取下拉內容(語言)。如果可能的話,我想避開一張桌子。另外,我不喜歡序列化,因爲我無法輕鬆搜索說某些語言的用戶。 – Mike
@Mike,你正在使用一個名爲'user_languages'的表。當你使用表格時,你爲什麼不想用我的方法?它還需要一個表和一個連接表。 順便說一句,如果你不想序列化,那麼只有其他的選擇,因爲你想使用數據進行搜索。 – Emu