0

ユーザーが現在のコードのアクティブなセッションを持っている場合、ログインページをスキップするようにユーザーを自動的にリダイレクトしようとしています。これにより、リンクが含まれる別のページがユーザーに表示されます。redirect_to を実行しようとしましたが、その方法では ruby​​ が動作しません。助言がありますか?

   <% if signed_in? %>
        <%= link_to "Users", 'users/show'  %>
   <% else %>        
    <%= form_for(:session, url: sessions_path) do |f| %>

      <%= f.label :email %>
      <%= f.text_field :email %>

      <%= f.label :password %>
      <%= f.password_field :password %>
      <br>

      <%= f.submit "Sign in", class: "btn btn-large btn-primary" %>
    <% end %>
4

1 に答える 1

2

ログインページのコントローラー(おそらくsession#new)で、次のようにユーザーのセッションを確認できます

if current_userまたcookies[:session]

だからあなたのnew行動の中で

class SessionsController < ApplicationController
  def new
    redirect_to(root_url, alert: "already logged in") if current_user
  end
end
于 2013-10-05T01:49:10.343 に答える