获取当前路线的范围是否有轨道方式?

时间:2012-10-22 18:40:27

标签: ruby-on-rails url-routing

如果您的routes.rb文件中有作用域,例如:

scope "/account" do
  resources :items
end

如何确定当前页面是否在“帐户”部分?这意味着“帐户”部分会考虑以下项目吗?

/account/items
/account/item/1
/account/item/1/edit

我知道这可以通过对请求变量执行字符串比较来实现,但是如果有确定此信息的“轨道方式”则很奇怪。

感谢您的任何意见。

1 个答案:

答案 0 :(得分:10)

我刚才遇到了同样的问题。我所做的是在范围中添加一个参数:

scope '/me', me_scope: true do
  # ...
end

这样我可以在控制器中查找:

class ApplicationController < ActionController::Base
  def me_scope?
    params[:me_scope].eql? true
  end
end

不是最干净的解决方案,但它有效..