當我創建一個新帖子(passengerride)時,它成功地在數據庫中存儲多個值。但是,當我嘗試編輯帖子(passengerride)時,複選框變得沒有選中。Ruby on Rails:當試圖編輯帖子時,複選框被取消選中
這是我的形式:
應用程序/視圖/ passengerrides/_form.html.erb:
<%= form_for @passengerride do |f| %>
......
<div class="form-group ">
<div class="control-label col-sm-2 requiredField">
<%= f.label :okwithgender, 'Driver should be:' %>
<span class="asteriskField">*</span>
</div>
<div class="col-sm-8">
<div class=" ">
<div class="checkbox">
<label class="checkbox"><input id="okwithgender" type="checkbox" value="Male" name="passengerride[okwithgender][]">Male</label>
</div>
<div class="checkbox">
<label class="checkbox"><input id="okwithgender" type="checkbox" value="Female" name="passengerride[okwithgender][]">Female</label>
</div>
<div class="checkbox">
<label class="checkbox"><input id="okwithgender" type="checkbox" value="Other" name="passengerride[okwithgender][]">Other</label>
</div>
<div class="checkbox">
<label class="checkbox"><input id="okwithgender" type="checkbox" value="Any Gender" name="passengerride[okwithgender][]">Any Gender</label>
</div>
</div>
</div>
</div>
....
<% end %>
應用程序/控制器/ passengerrides_controllers:
def passengerride_params
params[:passengerride][:okwithgender] = params[:passengerride][:okwithgender].join(', ')
params.require(:passengerride).permit(:origin, :destination ... :okwithgender)
end
我估計用這個<%= f.check_box ... %>
將解決問題,但我不知道如何寫相當於 <input id="okwithgender" type="checkbox" value="Male" name="passengerride[okwithgender][]">
我正在構建一個拼車應用程序,用戶必須選擇驅動程序的性別(可能是男性或男性和女性)。 我試過了:<%= f.check_box:okwithgender,{},'Male'%> 但是它相當於: 我需要這樣的東西 – nais
@SainathReddy編輯我的答案。讓我知道這是否適合你。 –
當我檢查一個值,它存儲的字符串和未選中的值存儲爲0.它存儲0,男,0,0,0當我檢查男性。當我嘗試編輯表單時,它沒有被檢查。 – nais