我收到了一些我想通过使用某些部分来简化的信息。基本上,我想做的事的Rails渲染部分内部线条块
<%= 2.times { |j| render 'item_expanded', item: @social_json_feed[i + j], index: (i + j) } %>
线的东西。然而,上面的代码不会呈现部分。相反,它将返回值“2”两次。如果我把这个块写成一个do-end块,它可以像预期的那样工作。
<% 2.times do |j| %>
<%= render 'item_expanded', item: @social_json_feed[i + j], index: (i + j) %>
<% end %>
以我想要的方式生成部分。但是,如果do-end块正常工作,那么单行块也应该能够正常工作,对吗?难道这只是关于单行块如何格式化或者是Rails魔术更深入的东西?另外,为什么第一个代码示例返回“2”两次?
如果删除等号会发生什么? <%2.times {| j |渲染'item_expanded',item:@social_json_feed [i + j],index:(i + j)}%> – javiyu 2014-09-05 14:09:11
它不呈现任何东西。 ERB需要“=”来表示逻辑应该呈现在页面上。 – 2014-09-05 14:23:16