当前页面?不使用带有可选参数的路径

时间:2016-08-07 10:37:13

标签: ruby-on-rails routes params current-page

这是路线:

get "search(/:search)", to: "posts#index", as: :search

现在,如果我在/search/somethingsomething并且视图是:

- if current_page?(search_path)
  = (do something)
然后,有些事情没有完成。但是,如果我删除:search周围的括号(即get "search/:search" ...),那么它就可以了。是什么给了什么?

2 个答案:

答案 0 :(得分:0)

您可以使用此条件

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

在没有可选参数的条件下使用search_path

答案 1 :(得分:0)

没关系。通过用以下内容替换条件解决了这个问题:

- if current_page?("/search/#{params[:search]}")