我有一个班级位置。我想做的是在我的页脚做类似的事情:
<%= Location.all.each do |location| %>
<ul class="footer-nav" id="foot">
<li class="footer-list">
<%= link_to location.name, location_path(location.name), class: "footer-location"%>
</li>
问题在于,因为我正在拉类法,所以它给了我一切。因此,为了解决这个问题,我尝试创建以下帮助程序:
def footer
Location.all.map(&:name).join(',')
end
这实际上会清除所有内容并给我一个位置名称列表但是。如何迭代然后将链接应用于这些位置?或者我完全错了吗?
答案 0 :(得分:3)
<%=
将其包含的语句的返回值输出到HTML文档。 <%
执行语句但不向文档输出任何内容。
<%= Location.all.each { |l| ... } %>
会将Location.all.each
的返回值输出到文档,该文档是Location
s的可迭代集合。假设您只想放置要放在块中的HTML,只需删除=
:
<% Location.all.each do |location| %>
<ul class="footer-nav" id="foot">
<li class="footer-list">
<%= link_to location.name, location_path(location.name), class: "footer-location"%>
</li>
</ul>
<% end %>