J'ai défini une fonction de mot de passe pour la fonction de publication du portefeuille. Ce serait pratique s'il y avait une fonction qui générait et même saisissait automatiquement le mot de passe.
Alors faisons-le!
Cliquez sur le bouton "Générer le mot de passe" Pouvons le saisir automatiquement!
rails:5.2 ruby:2.6.3 bootstrap jquery
Tout d'abord, laissez le contrôleur créer des caractères alphanumériques aléatoires.
topics_controller.rb
def new
@topic = Topic.new
@password = SecureRandom.alphanumeric(6)
->Caractères alphanumériques aléatoires(A-Z, a-z, 0-9)Générer un
(6)Est de 6 chiffres, 16 chiffres si non spécifié
end
Ensuite, changez le mot de passe que vous avez créé précédemment en password_field (cette fois, il s'agit de text_field) Vous permet d'entrer.
ruby:new.html.erb
<div class="topic-new-wrapper" >
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<%= form_for @topic do |f| %>
<div class="form-group">
<%= f.label :password, 'password(Tout)' %>
<%= f.text_field :password, class: 'form-control', id: 'password' %>
<%= button_tag 'Créer un mot de passe', id: 'auto-fill-link' %>
</div>
<%= f.submit 'Enregistrement du mot de passe', class: 'btn btn-black btn-block' %>
<% end %>
</div>
</div>
</div>
</div>
<script>
$(function(){
autoFill();
function autoFill() {
$('#auto-fill-link').click(function(){
$('#password').val("<%= @password %>");
});
}
})
</script>
Lorsqu'un lien contenant l'id «auto-fill-link» est cliqué, il contient l'id «password» @Password est entré dans le champ.
Cependant, si tel est le cas, il sera soumis lorsque le bouton_tag est cliqué, donc Si vous souhaitez l'utiliser comme un simple bouton, ajoutez le code suivant.
type: "button"
ruby:new.html.erb
<div class="topic-new-wrapper" >
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<%= form_for @topic do |f| %>
<div class="form-group">
<%= f.label :password, 'password(Tout)' %>
<%= f.text_field :password, class: 'form-control', id: 'password' %>
Cette ligne-> <%= button_tag 'Créer un mot de passe', id: 'auto-fill-link', type: "button" %>
</div>
<%= f.submit 'Enregistrement du mot de passe', class: 'btn btn-black btn-block' %>
<% end %>
</div>
</div>
</div>
</div>
<script>
$(function(){
autoFill();
function autoFill() {
$('#auto-fill-link').click(function(){
$('#password').val("<%= @password %>");
});
}
})
</script>
Nous avons créé une fonction qui générera et entrera un mot de passe.
C'est facile, veuillez donc utiliser le code ci-dessus.