我有一個逗留其中has_many_and_belongs_to :rooms
。房間是由管理員創建的,所以他們不會隨着住宿而創建,因此我希望能夠從給定的收藏中選擇房間,但我想使用simple_fields_for
在我的情況下創建自定義外觀選擇。Rails自定義選擇部分集合
我在我的形式,以部分的代碼來實現我想要什麼:
= f.simple_fields_for :rooms, Room.available do |rf|
= render 'reservations/form/resource', f: rf
我的資源部分,到目前爲止只有一個行:= f.hidden_field :id, value: f.object.id
而當我打刷新我得到:
undefined method `id' for #<Room::ActiveRecord_Relation:0x007feb6f3fc2f0>
Did you mean? ids
但是當我嘗試IDS我只得到一個隱藏的輸入具有此代碼: <input value="1 2 3 4 5 6 7 8 9" type="hidden" name="reservation_stay[rooms][id]" id="reservation_stay_rooms_id">
如何讓它爲每個房間創建輸入?
感謝您的回答,現在我明白了,但我有相關的問題。如果我想在與Stay保持聯繫時更改房間狀態,那該怎麼辦? – Gregg
你需要重新思考你是如何建模的。如果您在創建預定時在哪裏更改房間表上的狀態,即使預留了一個月,它也會鎖定房間。相反,您希望使用'has_many:through'並將預留的日期存儲在連接表中。我將它設置爲Booking has_many Reservations。預訂屬於房間。但這真是一個單獨的問題。 – max
如果你搜索一下,有很多軌道預訂應用程序的例子。 – max