Ruby on Rails:如果是当前页面?是主页,不显示表格

时间:2015-08-04 18:53:27

标签: ruby-on-rails ruby

我想不显示表单,但仅限当前页面不是主页

这就是我到目前为止......

我的路线设置:

root 'projects#index'

我的观点:

<% if !current_page?(url_for(:controller => 'projects', :action => 'index')) %>
  show some stuff
<% end %>

如果网址为localhost:3000/projects

,则不会显示

但它会显示其localhost:3000

所以我需要以某种方式确保如果它的主页,它将不会显示。此外,我有主页的搜索参数,我仍然不想显示它是否像localhost:3000/projects?search=blahblahblah

1 个答案:

答案 0 :(得分:18)

使用root_path帮助程序:

<% unless current_page?(root_path) %>
  show some stuff
<% end %>
  

这不会显示网址是否为localhost:3000/projects但是显示   如果是localhost:3000

或:

<% unless current_page?('/') || current_page?('/projects') %>
   # '/' the same as root_path
   show some stuff
<% end %>

另外,根据documentation,不需要url_for方法:

current_page?(controller: 'projects', action: 'index')