web-dev-qa-db-ja.com

Rails ifステートメントの構文

次のERBを作成しましたが、疑問符で構文エラーが発生しています。 deviseのこのヘルパー関数は、現在falseと評価されています。私は何を見逃しましたか?

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

これを試して :

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

<%= ...%>を実行すると、タグの間に置いたものを出力しようとします。ただし、<%...%>を実行すると、出力は処理されず、コードのみが評価されます。これが機能しない場合、おそらくuser_signed_inに何か問題がありますか?ヘルパーメソッド。

81
SteenhouwerD

<%=user_signed_in?ヘルパーを出力しようとするので、試してください:

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

またはさらに良い(そして混乱が少ない):

<%= render 'form' if user_signed_in? %>
25
Mario Uher

これを試して

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