Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 命名空间中所有视图的帮助器_Ruby On Rails 3_View Helpers - Fatal编程技术网

Ruby on rails 3 命名空间中所有视图的帮助器

Ruby on rails 3 命名空间中所有视图的帮助器,ruby-on-rails-3,view-helpers,Ruby On Rails 3,View Helpers,是否有一种方法可以创建一个视图辅助文件,该文件将可用于命名空间中的所有视图?与application_helper.rb类似,但仅适用于给定的命名空间 class Office::UsersController < Office::BaseController def index .. end end 具体来说,我有一个名为“office”的名称空间。我想设置一个视图帮助器,它可以被“office”命名空间中的任何视图访问 class Office::UsersCon

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

class Office::UsersController < Office::BaseController
  def index
      ..
  end
end
具体来说,我有一个名为“office”的名称空间。我想设置一个视图帮助器,它可以被“office”命名空间中的任何视图访问

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

谢谢。

我建议您为该特定名称空间使用BaseController。比如说,

class Office::BaseController < ApplicationController
  helper :office   
end
classoffice::BaseController
并在该命名空间内的所有其他控制器中继承该控制器

class Office::UsersController < Office::BaseController
  def index
      ..
  end
end
class Office::UsersController
现在,helper office_helper.rb中的所有方法都存在于这个名称空间中

class Office::UsersController < Office::BaseController
  def index
      ..
  end
end
此外,这是一种很好的做法,用于分离控制器名称空间的关注点/代码