確定 - 這將需要一段時間來解釋這個問題,包涵:參數是丟失或爲空值:預訂
我正在下面就如何開發製作的Airbnb的教程。作爲預留模型的一部分,它具有start_date/end_date,這兩個用於保留控制器私有操作中。
private
def reservation_params
params.require(:reservation).permit(:start_date, :end_date)
end
本教程將解釋如何在預留視圖下創建表單,然後將在房間頁面上使用該表單。
預訂/ _form.html.erb
<%= form_for([@room, @room.reservations.new]) do |f| %>
<div class="row">
<div class="col-md-6">
<label>Check In</label>
<%= f.text_field :start_date, readonly: true, placeholder: "Start Date", class: "form-control datepicker" %>
</div>
<div class="col-md-6">
<label>Check Out</label>
<%= f.text_field :end_date, readonly: true, placeholder: "End Date", class: "form-control datepicker", disabled: true %>
</div>
</div>
:
:
:
<%= f.submit "Book Now", id: "btn_book", class: "btn btn-normal btn-block", disabled: true %>
<% end %>
我嘗試的過程中適應我的目的。我不需要開始/結束日期。我需要用戶做的是點擊按鈕購買,以完成購買(價格和數量是固定的)。因此,這裏是我,雖然我會做(顯然現在沒有成功)
ReservationsController:
private
def reservation_params
params.require(:reservation)
end
預訂/ _form.html.erb
<%= form_for([@room, @room.reservations.new]) do |f| %>
<%= f.submit "Book Now", id: "btn_book", class: "btn btn-normal btn-block", disabled: true %>
<% end %>
這樣做的結果是:PARAM是遺漏的或價值是空的:預訂
問題:應該如何使用參數。在沒有.permit部分的私人聲明?我整體做錯了什麼?
謝謝。
使用'binding.pry'來調試你的程序,檢查傳入的'params'數組並找出你的參數在哪裏,然後找出它們爲什麼不在你認爲的位置。 – meagar