Ich baue eine Event-Site mit Ruby on Rails und bin mir nicht sicher, welchen Code ich implementieren kann, um die Buchungen zu überwachen, um sicherzustellen, dass ich keine Buchungen zulasse, wenn die Anzahl der verfügbaren Plätze besetzt ist.Event Booking Site - Wie kann eine Überbuchung verhindert werden?
ich simple_form bin mit Ereignissen zu erstellen, ist dies der Teil -
<%= simple_form_for(@event) do |f| %>
<% if @event.errors.any? %>
<h2><%= pluralize(@event.errors.count, "error") %> prevented this Event from saving:</h2>
<ul>
<% @event.errors.full_message.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
<%= f.collection_select :category_id, Category.all, :id, :name, {prompt: "Choose a category"} %>
<!-- The above code loop assigns a category_id to each event -->
<%= f.input :image, as: :file, label: 'Image' %>
<%= f.input :title, label: 'Event Title' %>
<label>Location</label><%= f.text_field :location, id: 'geocomplete' %></br>
<label>Date</label><%= f.text_field :date, label: 'Date', id: 'datepicker' %>
<%= f.input :time, label: 'Time' %>
<%= f.input :description, label: 'Description' %>
<label>Number of spaces available</label><%= f.text_field :number_of_spaces, label: 'Number of spaces' %>
<%= f.input :is_free, label: 'Tick box if Event is free of charge' %>
<%= f.input :price, label: 'Cost per person (leave blank if free of charge)' %>
<%= f.input :organised_by, label: 'Organised by' %>
<%= f.input :organiser_description, label: 'Organiser description' %>
<%= f.input :url, label: "Link to Organiser site" %>
<%= f.button :submit, label: 'Submit' %>
ich eine Verbindung zwischen dem Event und Buchung Modell. Welchen Code soll ich implementieren, um sicherzustellen, dass die Buchungen für eine bestimmte Veranstaltung überwacht werden können? Ich bin ziemlich neu bei Rails, also hat mich das ein wenig ratlos gemacht.
Es gibt keine separate Buchungsformular als solche. Das obige Formular erstellt das Ereignis einschließlich eines Abschnitts zum Festlegen der Anzahl der verfügbaren Felder. Ich habe ein Attribut number_of_spaces in meinem Ereignismodell. Die Verknüpfung zwischen den Ereignis- und Buchungsmodellen ist wie oben beschrieben. –
Um eine Veranstaltung zu buchen, gibt es eine Box am Ende der Veranstaltungsseite, die einen Nutzer zur Zahlungsseite führt, aber wie Sie vorschlagen, muss ich Code für kostenlose Veranstaltungen schreiben, da Überbuchungen ein Problem darstellen können da auch. Das oben genannte sieht ziemlich solide aus. –
Die gleiche Logik gilt, wenn das Ereignis ausgebucht ist, zeigen Sie nicht die Box, die Benutzer zur Zahlungsseite führt. Wenn das obige hilfreich ist, markieren Sie bitte meine Antwort als akzeptiert oder als positiv. Danke. – margo