2012-10-23 1 views
0

루비 1.9.3-p194레일 3보기 sytax 오류

레일 3.0.3

오늘 libcrypt 오류를 가졌다 및 문제 해결의 시간 후, 나는 RVM, 루비와 보석을 제거. 모든 것을 재설치했지만 이제는 내 응용 프로그램에서 오류가 발생합니다. 코드를 변경하지 않았지만 재설치 전에 문제가 없었습니다.

ActionView::Template::Error (/home/username/apps/vits/app/views/layouts/application.html.erb:19: syntax error, unexpected ',', expecting ')' 
if (current_user.admin == true, "Admin Menu", adminmenu_path... 
/home/username/apps/vits/app/views/layouts/application.html.erb:19: syntax error, unexpected ',', expecting ')' 
...er.admin == true, "Admin Menu", adminmenu_path));@output_bu.... 
/home/username/apps/vits/app/views/layouts/application.html.erb:22: syntax error, unexpected keyword_do_block, expecting keyword_end 
');@output_buffer.append_if_string= flash.each do |name, msg| 
/home/username/apps/vits/app/views/layouts/application.html.erb:22: syntax error, unexpected '|', expecting '=' 
');@output_buffer.append_if_string= flash.each do |name, msg| 
/home/username/apps/vits/app/views/layouts/application.html.erb:44: syntax error, unexpected keyword_ensure, expecting $end): 
16:  <div id="header"> 
17:    <div class="wrap clear">       
18:     <% if current_user %> 
19:      <%= link_to "Logout", logout_path %> | <%= link_to "Main Menu", usermenu_path %> | <%= link_to_if (current_user.admin == true, "Admin Menu", adminmenu_path) %> 
20:     <% end %> 
21:    </div> 
22: <%- flash.each do |name, msg| -%> 
app/controllers/user_sessions_controller.rb:29:in `new' 

아이디어가 있으십니까? 이것은 나에게 나쁜 RoR의 날입니다.
미리 감사드립니다. 다만,

<%= link_to_if (current_user.admin == true, "Admin Menu", adminmenu_path) %> 

필요하지 않은 == true : 나는 문제가이 선하다고 생각

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
    <title><%= h(yield(:title) || "Vendor Invoice Tracking System (VITS)") %></title> 
    <link rel="stylesheet" href="stylesheets/scaffold.css" type="text/css" media="all" charset="utf-8" /> 
    <%= stylesheet_link_tag 'scaffold' %> 
    <%= javascript_include_tag :defaults %> 
    <%= javascript_include_tag "tablesort.js" %> 
    </head> 

    <body> 
    <div id="siteholder"> 

    <div id="header"> 
      <div class="wrap clear">       
       <% if current_user %> 
        <%= link_to "Logout", logout_path %> | <%= link_to "Main Menu", usermenu_path %> | <%= link_to_if ((current_user.admin == true, "Admin Menu", adminmenu_path)) %> 
       <% end %> 
      </div> 
<%- flash.each do |name, msg| -%> 
<%= content_tag :div, msg, :id => "flash_#{name}" %></p> 
<div class="clear"></div> 
<%- end -%> 

     <% if current_user %>  
      <div id="content1">    
       <%= yield %> 
      </div> 

     <% else %> 

      <div id="content"> 
       <div id="content1"> 
       </div> 
       <%= yield %> 
      </div> 
     <% end %> 

    </div> 
    </body> 
</html>' 

답변

0

:

편집 -Katie는 전체 application.html.erb를 추가

<%= link_to_if (current_user.admin, "Admin Menu", adminmenu_path) %> 

괜찮을 것입니다. 어떤 이유로 평등이 필요하면 여분의 괄호 쌍이 필요합니다 (예 :

<%= link_to_if ((current_user.role == "admin"), "Admin Menu", adminmenu_path) %> 
+0

current_user.admin은 부울 열임). 나는 "역할"테이블을 사용하지 않고있다. 차이가 있습니까? –

+0

rvm 목록을 작성하면 다음 메시지가 나타납니다.'= * /home/username/.rvm/scripts/list : line 321 : /home/username/.rvm/rubies/ruby-1.9.3-p194/config : 해당 파일이나 디렉토리가 없습니다. ruby-1.9.3-p194 []'코드를 읽지 않았을 때 갑자기 구문 오류가 발생한다는 것은 이상한 일입니다. 이것은 rvm, ruby, rails를 제거하고 다시 설치 한 후에 시작되었습니다. –

+0

전체 application.html.erb를 게시 할 수 있습니까? –