2011-07-27 27 views
4

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

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

谢谢。

回答

2

我会建议你有一个BaseController的那个特定的命名空间。例如,

class Office::BaseController < ApplicationController 
    helper :office 
end 

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

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

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

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

相关问题