Eigentlich benutze ich zwei Modelle für meine App, die Benutzer und Admin ist und ich folgte alle Schritte, die bei der Verwendung von Device gem behandelt werden.Routing-Fehler bei der Verwendung mehrerer Modelle - RAILS 4.2.0
Und ich möchte mehrere Login haben. Wenn sich der Benutzer angemeldet hat, muss er zum entsprechenden Profil weitergeleitet werden und wenn Admin sich angemeldet hat, muss er auf sein jeweiliges Profil umgeleitet werden.
Ich weiß nicht, wo ich Fehler mache.
home/index.html.erb
<ul>
<li>User:<%= link_to 'User', new_user_session_path, target: "_blank" %></li>
<li>Admin:<%= link_to 'Admin', new_admin_session_path, target: "_blank" %></li>
</ul>
Als ich Benutzer gehen Link gibt mir Fehler Routing, die wie unten ist;
Und wenn ich zu Admin gehen Link gibt mir Fehler Routing, die wie unten ist;
routes.rb
Rails.application.routes.draw do
root "home#index"
devise_for :users, controllers: {
sessions: 'users/sessions',
registrations: 'users/registrations'
}
devise_scope :user do
authenticated do
root to: 'aslani#index', as: 'authenticated_user_root'
end
unauthenticated do
root to: 'aslani#index', as: 'unauthenticated_user_root'
end
end
devise_for :admins, controllers: {
sessions: 'admins/sessions',
registrations: 'admins/registrations'
}
devise_scope :admin do
authenticated do
root to: 'yaseen#index', as: 'authenticated_admin_root'
end
unauthenticated do
root to: 'yaseen#index', as: 'unauthenticated_admin_root'
end
end
end
Aslani/index.html.erb
<% if user_signed_in? %>
I am Aslani.
<%= link_to 'Log out', destroy_user_session_path, method: :delete %>
<% else %>
<%= link_to 'Log In', new_user_session_path %>
<%= link_to 'Sign Up', new_user_registration_path %>
<% end %>
Kola/index.html.erb
<% if admin_signed_in? %>
I am Kola.
<%= link_to 'Log out', destroy_admin_session_path, method: :delete %>
<% else %>
<%= link_to 'Log In', new_admin_session_path %></li>
<%= link_to 'Sign Up', new_admin_registration_path %>
<% end %>
app/controllers/users/sessions_c ontroller.rb
class Users::SessionsController < Devise::SessionsController
def new
super
end
def create
self.resource = warden.authenticate!(auth_options)
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
if !session[:return_to].blank?
redirect_to session[:return_to]
session[:return_to] = nil
else
respond_with resource, :location => after_sign_in_path_for(resource)
end
end
end
Alle Vorschläge sind sehr willkommen.
Vielen Dank im Voraus.
Danke für die Antwort. Welche Daten gebe ich in die neue Datei ein users/session_controller.rb –
Es sollte die Aktion enthalten, die die Benutzersitzung erstellt, ich aktualisierte die ANS Bitte überprüfen Sie – Sravan
Sie sollten kein Formular oder HTML in der Steuerung – Sravan