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/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |