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

时间:2011-07-27 20:04:31

标签: ruby-on-rails-3 view-helpers

有没有办法创建一个可供名称空间中所有视图使用的视图助手文件?与application_helper.rb一样,但仅适用于给定的命名空间。

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

感谢。

1 个答案:

答案 0 :(得分:2)

我建议您为该特定命名空间使用BaseController。例如,

class Office::BaseController < ApplicationController
  helper :office   
end

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

class Office::UsersController < Office::BaseController
  def index
      ..
  end
end

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

此外,这是一个良好做法,用于分隔控制器名称空间的关注/代码。