以下代码是渲染错误: 语法错误,意外的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>
老实说,我不知道为什么会这样。我已经尝试过排除故障,但我无处可去。我确定这是一个小错误,但我无法弄清楚。非常感谢任何帮助。
答案 0 :(得分:2)
正如 iltempo 在评论中提到的那样:remove the <% end %> line.
如果你不介意,你能解释为什么不需要吗?
因为你在第2行所做的不是一个块,你只需在那里设置一个稍后使用的变量。阻止示例:
<% User.all.each do |u| %>
<%= u.email %>
<% end %>
或
<%= link_to user do %>
<%= u.email %>
<% end %>
答案 1 :(得分:1)
&lt; %%&gt;之间的东西是红宝石代码。
<%= %>
将结果插入到html中,例如
<% x = 3 %>
会将ruby变量x设置为3但是
<%= x = 3 %>
会将ruby变量x设置为3,并将值3插入html
如果你看一下红宝石代码的含义,就像这样:
results = @client.search("Twitter", :result_type => "mixed").take(3).to_a
"results[0].text"
"results[1].text"
"results[2].text"
end
如果你看一下,你会注意到“结束”声明不合适。 我也认为你可能不希望结果陈述周围的“”