命名空间中所有视图的帮助器

Bre*_*ett 5 view-helpers ruby-on-rails-3

有没有一种方法可以创建视图助手文件,该文件将可用于命名空间中的所有视图?类似于application_helper.rb,但仅适用于给定的名称空间。

具体来说,我有一个名为“ office”的命名空间。我想设置一个视图助手,“办公室”名称空间中的任何视图都可以访问它。

谢谢。

小智 3

我建议您为该特定名称空间设置一个 BaseController。例如,

class Office::BaseController < ApplicationController
  helper :office   
end
Run Code Online (Sandbox Code Playgroud)

并在该命名空间内的所有其他控制器中继承该控制器。

class Office::UsersController < Office::BaseController
  def index
      ..
  end
end
Run Code Online (Sandbox Code Playgroud)

现在,帮助程序 office_helper.rb 中的所有方法都存在于该命名空间中。

此外,这是分离控制器命名空间的关注点/代码的好习惯。