我有一個病人模型,它有knowndiseases
列。它存儲一系列特定疾病的字符串,如DM,HT等。我希望我的患者能夠通過選中這些複選框併發布表單來更新他/她的知識庫列。通過Ruby on Rails上的多個複選框進行更新
一旦我發送表單,我可以看到所選複選框的值爲數組,位於params[:knowndiseases]
。但是,當我使用user_params方法訪問這些值時,數據庫中的患者記錄不會更新。
我再次嘗試刪除我的複選框中的:multiple => true
選項,這次我的患者僅通過檢查的最後一個值更新,而不與其他人進行更新。
這裏是我的形式:
<%= simple_form_for @patient, url: update_profile_part2_path(@patient), :method => 'patch', :html => {class: 'form-horizontal'} do |f| %>
<%= f.check_box :knowndiseases, { :multiple => true}, 'DM', nil%> DM
<%= f.check_box :knowndiseases, { :multiple => true}, 'HT', nil%> HT
<%= f.check_box :knowndiseases, { :multiple => true}, 'KAH', nil %> KAH
<%= f.check_box :knowndiseases, { :multiple => true}, 'Astım', nil %> Astım
<%= f.check_box :knowndiseases, { :multiple => true}, 'Malignite', nil %> Malignite
<%= f.check_box :knowndiseases, { :multiple => true}, 'Guatr', nil %> Guatr
<% end %>
,我已經用於創建knowndiseases列遷移:
add_column :users, :knowndiseases, :string, array: true
不久,我能做些什麼來更新knowndiseases
屬性與數組通過params[:knowndiseases]
?