Ich habe eine Passwortfunktion für die Buchungsfunktion des Portfolios festgelegt. Es wäre praktisch, wenn es eine Funktion gäbe, die das Passwort automatisch generiert und sogar eingibt.
Also lass es uns schaffen!
Klicken Sie auf die Schaltfläche "Passwort generieren" Lassen Sie es uns automatisch eingeben!
rails:5.2 ruby:2.6.3 bootstrap jquery
Lassen Sie den Controller zunächst zufällige alphanumerische Zeichen erstellen.
topics_controller.rb
def new
@topic = Topic.new
@password = SecureRandom.alphanumeric(6)
->Zufällige alphanumerische Zeichen(A-Z, a-z, 0-9)Generieren Sie a
(6)Ist 6 Stellen, 16 Stellen, wenn nicht angegeben
end
Ändern Sie als Nächstes das zuvor erstellte Kennwort in password_field (diesmal ist es text_field). Ermöglicht die Eingabe.
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(Irgendein)' %>
<%= f.text_field :password, class: 'form-control', id: 'password' %>
<%= button_tag 'Generiere Passwort', id: 'auto-fill-link' %>
</div>
<%= f.submit 'Passwortregistrierung', 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>
Wenn auf einen Link mit der ID "Auto-Fill-Link" geklickt wird, enthält er die ID "Passwort". @Password wird in das Feld eingegeben.
Wenn dies jedoch der Fall ist, wird es gesendet, wenn auf den button_tag geklickt wird Wenn Sie es nur als Schaltfläche verwenden möchten, fügen Sie den folgenden Code hinzu.
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(Irgendein)' %>
<%= f.text_field :password, class: 'form-control', id: 'password' %>
Diese Linie-> <%= button_tag 'Generiere Passwort', id: 'auto-fill-link', type: "button" %>
</div>
<%= f.submit 'Passwortregistrierung', 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>
Wir haben eine Funktion erstellt, die ein Passwort generiert und eingibt.
Es ist einfach, also verwenden Sie bitte den obigen Code.
Recommended Posts