【问题标题】:Rails if statement syntaxRails if 语句语法
【发布时间】:2011-07-15 11:00:45
【问题描述】:

我编写了以下 ERB,并且在问号处遇到语法错误。这个来自设计的辅助函数当前评估为假。我错过了什么?

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

【问题讨论】:

  • 请注意'?'和 '!'是方法名称中的有效个字符。

标签: ruby-on-rails erb


【解决方案1】:

试试这个:

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

如果你做 ,它会尝试输出你放在标签之间的东西。但是,如果您执行 ,则不会处理任何输出,只会评估代码。如果这不起作用,那么您的 user_signed_in 可能有问题?辅助方法。

【讨论】:

    【解决方案2】:

    &lt;%= 会尝试输出你的user_signed_in? 助手,所以试试吧:

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

    甚至更好(并且更少混淆):

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

    【讨论】:

    • 感谢您描述&lt;%=&lt;%之间的区别
    【解决方案3】:

    试试这个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      相关资源
      最近更新 更多