J'ai un séjour qui has_many_and_belongs_to :rooms
. Les chambres sont créées par l'administrateur, elles ne sont donc pas créées avec Séjours, donc j'aimerais pouvoir sélectionner les pièces d'une collection donnée, mais je voudrais créer une sélection personnalisée en utilisant simple_fields_for
.Rails personnalisés sélectionner avec partielle pour la collection
Le code que j'ai sous ma forme partielle afin d'obtenir ce que je veux:
= f.simple_fields_for :rooms, Room.available do |rf|
= render 'reservations/form/resource', f: rf
Ma ressource partielle n'a jusqu'à présent qu'une seule ligne: = f.hidden_field :id, value: f.object.id
Et quand j'actualisez je reçois:
undefined method `id' for #<Room::ActiveRecord_Relation:0x007feb6f3fc2f0>
Did you mean? ids
mais quand j'essaie ids je reçois une seule entrée cachée qui a ce code: <input value="1 2 3 4 5 6 7 8 9" type="hidden" name="reservation_stay[rooms][id]" id="reservation_stay_rooms_id">
Comment puis-je le faire créer une entrée pour chaque pièce?
Merci pour votre réponse maintenant je comprends, mais j'ai une question connexe. Que se passe-t-il si je veux changer le statut de la pièce lorsqu'elle est liée à Stay? – Gregg
Vous devez repenser comment vous avez modélisé ceci. Si vous changez l'état de la table des chambres lors de la création d'une réservation, cela verrouillera la salle même si la réservation est prévue un mois plus tard. Au lieu de cela, vous voulez utiliser 'has_many: through' et stocker les dates d'une réservation dans la table de jointure. Je voudrais le configurer comme Réservation a_many Réservations. La réservation appartient à la chambre. mais c'est vraiment une question séparée. – max
Il y a probablement beaucoup d'exemples d'application de réservation de rails si vous cherchez un peu. – max