Ich habe benutzerdefinierte Feld zu Registrierungsformular erstellen: Radio-Taste und wählen Sie die Liste Ich habe das Problem, wenn es einen Fehler beim Validieren von Daten (zum Beispiel der Benutzer schrieb das Passwort falsch) Ich werde zum Registrierungsformular weitergeleitet, die benutzerdefinierten Felder verlieren die Daten. Das Beispiel ist in diesen 2 Bilder erklärt:Keep Datenformular nach dem Senden mit Sitzungen in Schienen
Wie in den beiden Bildern sollte der Benutzer klicken Sie erneut auf das Optionsfeld einen Wert auszuwählen, normalerweise sollte es in der Sitzung gespeichert werden, indem entwickeln.
new.html.erb
<h2>Sign up</h2>
<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :user_type, as: :radio_buttons, collection: %w(personnal professional), checked: 'personnal' %>
<%= f.input :name, required: true %>
<%= f.input :city,as: :select,required: true,%>
<%= f.input :email, required: true %>
<%= f.input :password, required: true, hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) %>
<%= f.input :password_confirmation, required: true %>
</div>
<div class="form-actions">
<%= f.button :submit, "Sign up" %>
</div> <% end %>
<%= render "devise/shared/links" %>
application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:name,:city,:user_type,:phone])
end
end
User.rb
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
ich eine Lösung in Stackoverflow hier gefunden, aber ich coudn't es machen arbeite mit device Ich habe bereits Controller entwickelt, aber die Lösung funktioniert nicht für mich. Keep form fields filled after an error (RoR)
Bitte senden Sie den zugehörigen Code, Controller/Ansicht usw. – 31piy
@ 31piy Ich veröffentlichte den Code für das Problem. Für den Entwickler-Controller habe ich keinen Code hinzugefügt, weil ich nicht weiß, was ich hinzufügen soll. – zbakh