Multiple Devise Anmeldeformular AnsichtenWie man verschiedene Formen für verschiedene Kontoarten in Rubin auf Schienen rendert?
Ich gehe davon aus, dass das gesamte Format des eingespritzten Rubin in der ersten Reihe div, falsch ist. Ich habe es eingefügt, um die Anzahl der benötigten Registrierungsansichten anzuzeigen. Ich fügte auch den Fehler hinzu, weil ich wusste, dass es offensichtlich war.
Wer möchte diese Gelegenheit nutzen, um das richtige RoR-Format für multiple if, elsif, when, etc ... Statements zu veranschaulichen? Ich liebe alle Meinungen.
Bitte entschuldigen und korrigieren Sie falsche Terminologie, die Sie für richtig halten.
Danke
Fehler: Syntax in Devise :: RegistrationsController # new
devise/Anmeldungen/new.html.erb
<div class="row">
<%= if params[:plan] == '1' %>
Contributor
<%= elsif params[:plan] == '2' %>
Elite Contributor
<%= elsif params[:plan] == '3' %>
Technician
<%= elsif params[:plan] == '4' %>
Elite Technician
<%= elsif params[:plan] == '5' %>
Center
<%= elsif params[:plan] == '6' %>
Elite Center
<%= elsif params[:plan] == '7' %>
Affair
<%= elsif params[:plan] == '8' %>
Elite Affair
<% end %>
<div class="col-md-4 col-md-offset-4">
<div class="well">
<div class="page-header text-center">
<h2>JOIN</h2>
<li role="separator" class="divider"></li>
</div>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div class="field form-group">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, class: 'form-control' %>
</div>
<div class="field form-group">
<%= f.label :password %>
<% if @minimum_password_length %>
<em>(<%= @minimum_password_length %> characters minimum)</em>
<% end %><br />
<%= f.password_field :password, autocomplete: "off", class:'form-control' %>
</div>
<div class="field form-group">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "off", class:'form-control' %>
</div>
<br>
<div class="actions text-center">
<%= f.submit " JOIN ", class:'btn btn-lg btn-success' %>
</div>
<% end %>
<div class="text-right">
<%= render "devise/shared/links" %>
</div>
</div>
</div>
</div>
Controller/pages_controller.rb
def home
@contributor_plan = Plan.find(1)
@elitecontributor_plan = Plan.find(2)
@technician_plan = Plan.find(3)
@elitetechnician_plan = Plan.find(4)
@center_plan = Plan.find(5)
@elitecenter_plan = Plan.find(6)
@affair_plan = Plan.find(7)
@eliteaffair_plan = Plan.find(8)
end
pages/home.html.erb
(eine der vielen Rubin Links auf meiner Homepage Ansicht)
<%= link_to "Contributor", new_user_registration_path(plan: @contributor_plan.id), class:'btn btn-info btn-lg btn-block' %>
Versuchen Sie, fast Ihren gesamten Code auszukommentieren und dann den Block für Block auskommentieren, um herauszufinden, welcher Abschnitt den Syntaxfehler verursacht. Sobald Sie den relativen Chunk gefunden haben, können Sie ihn auf eine Zeile eingrenzen und Ihren Post aktualisieren. – nicholas79171
@ nicholas79171 - Vielen Dank für den einfachen und effektiven Tipp. Ich werde es oft nutzen. Ich habe den Fehler auf den injizierten Ruby-Code innerhalb der ersten "Div-Zeile" in meiner Registrierungsdatei reduziert. Nach dem Löschen dieses Codes wird der Code erfolgreich an die richtige Ansicht weitergeleitet (die URL-Plan-ID stimmt überein), es wird jedoch nicht der eindeutige HTML-Code im Formular für jeden anderen Plan angezeigt. –