Ich habe Optionen für die Zeitschlitze, die ein Benutzer sollte zur Auswahl der Lage sein:Rails erstellen has_many Assoziationsmodelle aus einer Liste von Optionen
[
{ day_of_week: 'Thursday', time_of_day: '7 am' },
{ day_of_week: 'Thursday', time_of_day: '8 am' },
{ day_of_week: 'Thursday', time_of_day: '9 am' },
{ day_of_week: 'Friday', time_of_day: '7 am' },
{ day_of_week: 'Friday', time_of_day: '8 am' },
{ day_of_week: 'Friday', time_of_day: '9 am' },
{ day_of_week: 'Friday', time_of_day: '10 am' },
{ day_of_week: 'Saturday', time_of_day: '8 am' },
{ day_of_week: 'Saturday', time_of_day: '9 am' },
{ day_of_week: 'Saturday', time_of_day: '10 am' }
]
User
has_many :timeslots
und ein Benutzer soll Timeslot
auf der Basis auswählen können Liste oben.
Mein aktueller html:
<%= simple_form_for(current_user, url: registration_path(:user)) do |f| %>
<% @timeslots.each do |day, values| %>
<div class="lead">
<%= day %>
</div>
<%= f.simple_fields_for :timeslots, values.sort_by { |slot| slot[:time_of_day].to_i } do |ff, something| %>
<div class="form-check">
<label class="form-check-label">
<%= ff.input_field :selected %>
<%= ff.object.time_of_day %>
</label>
</div>
<% end %>
<% end %>
<%= f.submit 'Update', class: 'btn btn-primary' %>
<% end %>
Ich möchte zwei Dinge tun: 1. Nicht-Zeitschlitze für einen Benutzer in der Datenbank Prebuild haben 2. ich die Liste ändern (hinzufügen oder entfernen) Und das würde die Optionen widerspiegeln, die dem Benutzer zur Auswahl stehen:
Danke für die Antwort. Um mehr Einsicht zu geben, sind die hartcodierten Werte eine Liste aller möglichen Werte für Zeitfenster, die erstellt werden sollen und nicht die, die in der Datenbank verfügbar sind. Mit diesen verfügbaren Werten würden Zeitfenster in der Datenbank für diesen Benutzer erstellt. –