[英]User Params not taking data as an array in rails using boostrap multi select dropdown
我有一個具有各種屬性的用戶模型。 他們中我正在使用bootstrap多選下拉列表來獲取兩個字段的多選值。 我無法解析這兩個字段並以參數形式接收它們,它們都保存了多選選項的數組值並將其作為數組值存儲到數據庫中
這是我的用戶模型
class User < ApplicationRecord
serialize :type_of_brand, Array
serialize :amenities_provided, Array
end
用戶視圖的_form.html.erb:
<div class="field"> 1.
<%= form.label :name %> :
<%= form.text_field :name, id: :user_name %>
</div>
<div class="field"> 2.
<%= form.label :phone %> :
<%= form.text_field :phone, id: :user_phone %>
</div>
<div class="field"> 3.
<%= form.label :email %> :
<%= form.text_field :email, id: :user_email %>
</div>
<div class="field"> 9.
<label> Types of Packaging Water Brand Sold </label><br/>
<select id="type_of_brand" multiple="multiple"
name="type_of_brand[]">
<option value="freezer">Bisleri</option>
<option value="delivery">Aquafina</option>
<option value="freezer and delivery">Kinley</option>
<option value="Incentives">Bindu</option>
</select>
</div>
<div class="field"> 17.
<label> Amenities provided </label><br/>
<select id="amenities_provided" multiple="multiple"
name="amenities_provided[]">
<option value="freezer">Freezer</option>
<option value="delivery">Delivery</option>
<option value="freezer and delivery">Freezer and Delivery</option>
<option value="Incentives">Incentives</option>
</select>
</div>
<div class="field"> 18.
<%= form.label
:number_of_deliveries_done_by_your_distributor_in_a_month %> :
<%= form.number_field :total_delivered_by_distributor, id:
:user_total_delivered_by_distributor %>
</div>
<div class="actions">
<%= form.submit %>
</div>
<div class="actions">
<input class="btn btn-danger" type="reset" value="Reset">
</div>
<% end %>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#type_of_brand, #amenities_provided').multiselect();
});
</script>
我得到以下參數
{"name"=>"Mahesh", "phone"=>"9008849042",
"email"=>"Alexander9@teamyogi.com"}
permitted: true>
在這里,我根本無法獲得數組期望的type_of_brand和Facilities_provided參數。 我究竟做錯了什么?。
好吧,我想出了解決方案
<div class="field"> 9.
<label> Types of Packaging Water Brand Sold </label><br/>
<select id="type_of_brand" multiple="multiple"
name="user[type_of_brand][]">
<option value="freezer">Bisleri</option>
<option value="delivery">Aquafina</option>
<option value="freezer and delivery">Kinley</option>
<option value="Incentives">Bindu</option>
</select>
</div>
<div class="field"> 17.
<label> Amenities provided </label><br/>
<select id="amenities_provided" multiple="multiple"
name="user[amenities_provided][]">
<option value="freezer">Freezer</option>
<option value="delivery">Delivery</option>
<option value="freezer and delivery">Freezer and Delivery</option>
<option value="Incentives">Incentives</option>
</select>
</div>
還允許在用戶控制器中加入強大的參數
params.require(:user).permit(:name, :phone, :email, :type_of_brand => [],
:amenities_provided => [])
這應該夠了吧
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.