10

如果您的 routes.rb 文件中有一个范围,例如:

scope "/account" do
  resources :items
end

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

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

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

感谢您的任何意见。

4

1 回答 1

12

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

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

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

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

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

于 2013-09-15T19:25:23.007 回答