――Je voulais définir les données pré-enregistrées dans le menu déroulant et les sélectionner pour remplir automatiquement le formulaire J'ai essayé divers articles, mais de nombreuses méthodes ne fonctionnaient pas lors de l'utilisation de l'assistant de formulaire.
ruby '2.6.6'
gem 'rails', '~> 6.0.3', '>= 6.0.3.3'
--Dans le modèle undone_action (les colonnes sont action_name et default_time), les données sont enregistrées à l'avance. --Définissez undone_actions dans la boîte de sélection --Lorsque vous cochez la case de sélection, un événement se produit et le saves_name et le won_time du formulaire de saisie sont remplis.
ruby:new.html.erb
<%= form_with(model: @savings_record, local: true) do |f| %>
<div class="form-group>
<label>Mon comportement inutile</label>
<select multiple id="my_undone_action" class="form-control" onChange='auto_input()'>
<option disabled selected value>Choose...</option>
<% current_user.undone_actions.each do |undone_action| %>
<option value= "<%= undone_action.action_name %>&<%= undone_action.default_time %>"><%= undone_action.action_name %></option>
<% end %>
</select>
</div>
<div class="form-group">
<%= f.label :savings_name, "Action inutile" %>
<%= f.text_field :savings_name, autofocus: true %>
</div>
<div class="form-group">
<%= f.label :earned_time, "Temps requis(Minutes)" %>
<%= f.number_field :earned_time, autofocus: true %>
</div>
<div class="actions">
<%= f.submit "économiser de l'argent" %>
</div>
<% end %>
<script>
var auto_input = function () {
var element = document.getElementById("my_undone_action");
document.getElementById("savings_record_savings_name").value = element.value.split("&")[0];
document.getElementById("savings_record_earned_time").value = element.value.split("&")[1];
}
</script>
J'ai publié les points sur lesquels je suis tombé par hasard lors de la création d'un portefeuille dans le but de changer d'emploi en entreprise Web. J'espère que cela aide quelqu'un qui a les mêmes problèmes.