2017-04-20 41 views
0

我有一個預訂模型,它有許多Booking_Items。預訂有一個start_date和一個end_date。 Booking_Items可以具有不同的start_date和end_date值。Rails,Cocoon:從父項設置嵌套形式的值

我有一個使用cocoon的嵌套窗體。它非常棒 - 允許額外的項目,更新和刪除。我想將任何新的Booking_Items的start_date和end_date默認爲父類的。

是否有正確的方法來設置嵌套項目的動態默認值?

回答

0

最簡單的方法是使用:wrap_object選項(documentation)。這將允許你這樣做

= link_to_add_association('add booking-item', @form_obj, :booking_items, 
    wrap_object: Proc.new { |bi| bi.start_date = @booking.start_date; bi }) 

,因爲這是服務器上分段的,這是不是真的「動態」,如果用戶更改預約的起始日期/ END_DATE的形式,新的預訂項會仍然使用原始日期進行渲染。如果這是你想要的,你將不得不恢復使用js和cocoon callbacks