2011-07-15 160 views
26

我寫了下面的ERB,並在問號上得到語法錯誤。 devise的這個輔助函數目前評估爲false。我錯過了什麼?Rails if語句的語法

<%= if user_signed_in? %> 
<%= render 'form' %> 
<%= end %> 
+1

注意「 ?和'!'方法名稱中有**有效**字符。 – 2011-07-15 11:14:21

回答

70

試試這個:

<% if user_signed_in? %> 
    <%= render 'form' %> 
<% end %> 

如果你<%= ...%>,他將嘗試輸出你的標籤之間放的東西。如果這不起作用,那麼你的user_signed_in可能有問題?輔助方法。

2

試試這個

<% if user_signed_in? %> 
    <%= render 'form' %> 
<% end %> 
21

<%=將嘗試輸出你的user_signed_in?幫手,所以嘗試:

<% if user_signed_in? %> 
    <%= render 'form' %> 
<% end %> 

甚至更​​好(和更少的混亂):

<%= render 'form' if user_signed_in? %> 
+1

感謝您描述'<%='和'<%'之間的區別 – lislis