2017-01-13 11 views
1

私は、ユーザの認証に基づいて私のレールアプリケーションにヘッダを追加しようとしています。だから私はここで私はユーザーがログインしているかどうかをチェックしているとログインして/それに基づいてログアウトのリンクを追加します。ユーザーがレールにログインしていることを確認する方法を教えてください。

しかし、私はエラーを取得しています:

   <% if user_signed_in? do %> 
       <%= link_to "Log out", destroy_user_session_path, method :delete %> 
       <% else %> 
       <%= link_to "login", new_user_session_path %> 
       <% end %> 

は、どのように私はこの問題を解決することができます

application.html.erb:16: syntax error, unexpected tSYMBEG, expecting keyword_do or '{' or '(' ...roy_user_session_path, method :delete);@output_buffer.safe_ 

は、ここで私が試してみました何ですか?

+0

を行っています。<%=のlink_to "ログアウト"、destroy_user_session_path、方法::%を削除>'と '行う削除' –

+0

少なくとも正しい答えをマークしてください –

答えて

4

まず第一に、このラインからdoを削除し、あなたが

<% if user_signed_in? %> 

は、第二method:を追加し、それがキーと値のペアだということは必要ありません

<%= link_to "Log out", destroy_user_session_path, method: :delete %> 

役に立てば幸い!

2

あなたはそれが `あるべき方法delete.Copyの構文エラーに以下のコード

<% if user_signed_in? do %> 
       <%= link_to "Log out", destroy_user_session_path, :method=>'delete'%> 
     <% else %> 
       <%= link_to "login", new_user_session_path %> 
       <% end %> 
関連する問題