0
預留模型中的額外費用列在創建新預留時未計算並保存。在編輯預約時即使沒有更改表格中的任何值,它也會被計算並保存。看起來checkboxes的值沒有被計算方法或其他東西接收到。導軌計算值不適用於複選框
Reservation has_many :bookings, has_many :extras, :through => :bookings
Booking belongs_to :extra, belongs_to :reservation
Extra has_many :bookings, has_many :reservations, :through => :bookings
before_save :calculate_extras_cost
def calculate_extras_cost
self.extras_cost = self.extras.sum(:daily_rate) * total_days
end
<%=hidden_field_tag "reservation[extra_ids][]", nil %>
<%Extra.all.each do |extra|%>
<%= check_box_tag "reservation[extra_ids][]", extra.id, @reservation.extra_ids.include?(extra.id), id: dom_id(extra)%>
<% end %>
感謝您獲取表單收集助手和關聯回調的提示。您的解決方案完美地工作,這是我改變的唯一一點。 self.extras.map(&:daily_rate).sum –