Methode | Verwenden |
---|---|
before_action :authenticate_user! | Stellen Sie im Controller ein, dass nur Benutzer Zugriff erhalten. |
user_signed_in? | Stellen Sie fest, ob der Benutzer angemeldet ist. Gibt true zurück, wenn der Benutzer angemeldet ist, false, wenn er abgemeldet ist. |
current_user | Holen Sie sich den aktuell angemeldeten Benutzer |
user_session | Zugriff auf Benutzersitzungsinformationen |
before_action :authenticate_user! Eine Methode, mit der die anzuzeigende Seite je nach Anmeldestatus umgeschaltet wird.
class SampleController < ApplicationController
before_action :authenticate_user!, only: [:show]
def index
end
def show
end
end
Mit der einzigen Option ist die Show-Aktion nur für angemeldete Benutzer zugänglich, und auf die Indexaktion ist auch dann zugegriffen, wenn Sie nicht angemeldet sind.
user_signed_in?
<% if user_signed_in? %>
<div class="user_nav grid-6">
<%= link_to "Ausloggen", destroy_user_session_path, method: :delete %>
<%= link_to "Post", new_tweet_path, class: "post" %>
</div>
<% else %>
<div class="grid-6">
<%= link_to "Einloggen", new_user_session_path, class: "post" %>
<%= link_to "Anmelden", new_user_registration_path, class: "post" %>
</div>
<% end %>
Wenn Sie angemeldet sind, können Sie die Seiten "Abmelden" und "Veröffentlichen" anzeigen. Wenn Sie nicht angemeldet sind, können Sie "Anmelden" und "Neue Registrierung" anzeigen.
Zur Erinnerung, da die Geräteeinstellungen noch unbekannt sind
Recommended Posts