【问题标题】:Rails syntax error ERB: expecting $endRails 语法错误 ERB:期望 $end
【发布时间】:2014-04-05 21:12:39
【问题描述】:

以下代码是呈现错误: 语法错误,意外的keyword_ensure,期待$end

<div id="Carousel">
    <% results = @client.search("Twitter", :result_type => "mixed").take(3).to_a %>
    <div class="carousel-inner">
        <div class="active item">
            <p><%= "results[0].text"%></p>
        </div>
        <div class="item">                
            <p><%= "results[1].text"%></p>
        </div>
        <div class="item">
            <p><%= "results[2].text"%></p>
        </div>
    </div>
    <% end %>
</div> 

我真的不知道为什么会这样。我已经尝试过故障排除,但我一无所获。我确定这是一个小错误,但我无法弄清楚。任何帮助将不胜感激。

【问题讨论】:

  • 只需删除&lt;% end %&gt; 行。不需要。
  • 成功了!非常感谢。如果你不介意,你能解释一下为什么不需要它吗?我虽然在我包含 ERB 的任何地方都必须放一个 .

标签: ruby-on-rails


【解决方案1】:

正如 iltempo 在评论中提到的:remove the &lt;% end %&gt; line.

如果你不介意,你能解释一下为什么不需要它吗?

因为您在第 2 行所做的不是一个块,所以您只需在那里设置一个变量以供以后使用。区块示例:

<% User.all.each do |u| %>
 <%= u.email %>
<% end %>

<%= link_to user do %>
 <%= u.email %>
<% end %>

【讨论】:

    【解决方案2】:

    之间的东西是 ruby​​ 代码。

    &lt;%= %&gt;将结果插入到html中,例如

    &lt;% x = 3 %&gt; 将 ruby​​ 变量 x 设置为 3 但 &lt;%= x = 3 %&gt; 会将 ruby​​ 变量 x 设置为 3 并将值 3 插入到 html 中

    如果你看一下你所拥有的 ruby​​ 代码,它是这样的:

    results = @client.search("Twitter", :result_type => "mixed").take(3).to_a
    "results[0].text"
    "results[1].text"
    "results[2].text"
    end
    

    如果您看一下,您会注意到“结束”语句不合适。 我还认为您可能不希望结果语句周围的“”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多