2017-01-13 1 views
1

사용자 인증을 기반으로 레일 애플리케이션에 헤더를 추가하려고합니다. 그래서 여기에 사용자가 로그인했거나 로그인 한 다음이를 기반으로 로그인/로그 아웃 링크를 추가했는지 확인하고 있습니다.사용자가 레일즈에 로그인되어 있는지 확인하려면 어떻게해야합니까?

하지만 난 오류가 점점 오전 :

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

내가 시도 무슨이 :

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

어떻게이 문제를 해결할 수 있습니까? 이 모든 라인에서 do 제거의

+0

그것을해야 할 '<% = LINK_TO, destroy_user_session_path, 방법을 "로그 아웃": % 삭제 :>'와 할'제거 ' –

+0

atleast 정확한 답을 표시하십시오. –

답변

4

첫째, 당신은

<% 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 %> 
관련 문제