有没有办法检查URL的一部分是否包含某个字符串

Ada*_*dam 5 spree ruby-on-rails-4

有没有办法检查URL的一部分是否包含某个字符串:

例如.<% if current_spree_page?("/products/*") %>哪里*可以是什么?

Ada*_*dam 12

我测试了,并且gmacdougall的答案有效,但我已经找到了解决方案.

这是我用来呈现不同布局的内容,具体取决于url的内容:

  url = request.path_info
  if url.include?('products')
    render :layout => 'product_layout'
  else
    render :layout => 'layout'
  end
Run Code Online (Sandbox Code Playgroud)

需要注意的重要一点是,不同的页面将在控制器中调用不同的方法(例如show,index).我所做的是将此代码放在自己的方法中,然后我在需要的地方调用该方法.


gma*_*all 6

如果您所在的地方可以访问ActionDispatch :: Request,则可以执行以下操作:

request.path.start_with?('/products')
Run Code Online (Sandbox Code Playgroud)