加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 01:49:55 所属栏目:百科 来源:网络整理
导读:我正在使用Enki博客宝石作为一种内容管理系统.它允许您创建帖子和页面.它会自动生成两个页面(Home和Archives).我还创建了另外两个示例页面,服务和产品,并将创建更多.因此,当我想列出主页上的所有页面时,我这样做 % page_links_for_navigation.each do |link|
我正在使用Enki博客宝石作为一种内容管理系统.它允许您创建帖子和页面.它会自动生成两个页面(Home和Archives).我还创建了另外两个示例页面,服务和产品,并将创建更多.因此,当我想列出主页上的所有页面时,我这样做

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


Home
Archives
Services
Products

我可能希望将来创建更多页面,因此最好循环遍历所有页面,而不是硬编码每个页面的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/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读