ruby-on-rails – Rails:如何从“each”方法中排除一个项目

ruby-on-rails – Rails:如何从“each”方法中排除一个项目,第1张

概述我正在使用Enki博客宝石作为一种内容管理系统.它允许您创建帖子和页面.它会自动生成两个页面(Home和Archives).我还创建了另外两个示例页面,服务和产品,并将创建更多.因此,当我想列出主页上的所有页面时,我这样做 <% page_links_for_navigation.each do |link| -%> <li><%= link_to(link.name, link.url) 我正在使用Enki博客宝石作为一种内容管理系统.它允许您创建帖子和页面.它会自动生成两个页面(Home和Archives).我还创建了另外两个示例页面,服务和产品,并将创建更多.因此,当我想列出主页上的所有页面时,我这样做

<% page_links_for_navigation.each do |link| -%>    <li><%= link_to(link.name,link.url) %></li>  <% end -%>HomeArchivesServicesProducts

我可能希望将来创建更多页面,因此最好循环遍历所有页面,而不是硬编码每个页面的URL.

但是,如果我想要排除其中一个页面(即档案),我将如何更改该代码. Enki自动生成该页面,但没有给我一个删除它的选项.此外,我不想删除档案,因为我想在我发布链接到博客帖子的地方使用它.

因此,简而言之,我如何从此代码中排除一个特定页面

<% page_links_for_navigation.each do |link| -%>    <li><%= link_to(link.name,link.url) %></li>  <% end -%>

Archives的URL是localhost:3000 / archives

解决方法
<% page_links_for_navigation.each do |link| -%>    <%  if link.name != 'Archives' %>          <li><%= link_to(link.name,link.url) %></li>    <% end %>  <% end -%>

或者使用page_links_for_navigation.reject {| page | page.name ==’Archives’}.每个

编辑:

添加更多页面![‘Archives’,’Home’].包括? link.name或只是添加你想要包含和删除的!

http://www.humblelittlerubybook.com/

http://www.ruby-doc.org/docs/ProgrammingRuby/

总结

以上是内存溢出为你收集整理的ruby-on-rails – Rails:如何从“each”方法中排除一个项目全部内容,希望文章能够帮你解决ruby-on-rails – Rails:如何从“each”方法中排除一个项目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1255159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存