Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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 我可以在application_helper.rb中使用其他helpers方法吗?_Ruby On Rails_Ruby_Helpers - Fatal编程技术网

Ruby on rails 我可以在application_helper.rb中使用其他helpers方法吗?

Ruby on rails 我可以在application_helper.rb中使用其他helpers方法吗?,ruby-on-rails,ruby,helpers,Ruby On Rails,Ruby,Helpers,我对app/helpers中定义的方法的可用性有疑问 我可以在助手中共享方法吗(例如,使用application\u helper.rb中my\u helper.rb中定义的方法),或者它们仅限于视图吗?如果您在控制器或应用程序\u控制器中有此功能,您应该能够做到这一点: helper :all 但是,让助手调用其他助手似乎有点太复杂了,一般来说,助手方法应该是简短的,并且没有依赖性,它们应该为视图做一件简单的事情,每一件。如果您有调用其他帮助程序的帮助程序方法,我想这会使测试变得更加困难 如

我对
app/helpers
中定义的方法的可用性有疑问


我可以在助手中共享方法吗(例如,使用
application\u helper.rb
my\u helper.rb
中定义的方法),或者它们仅限于视图吗?

如果您在控制器或应用程序\u控制器中有此功能,您应该能够做到这一点:

helper :all
但是,让助手调用其他助手似乎有点太复杂了,一般来说,助手方法应该是简短的,并且没有依赖性,它们应该为视图做一件简单的事情,每一件。如果您有调用其他帮助程序的帮助程序方法,我想这会使测试变得更加困难


如果您试图解决的问题非常复杂,我建议您尝试将其移动到lib目录中的一个模块,然后将该模块包含在需要通用功能的帮助程序中。

我理解调用帮助程序:所有原因包括应用程序\u helper.rb所有其他帮助程序,然后将应用程序_helper.rb附加到每个视图。所有帮助程序中的所有方法在每个视图和每个帮助程序中都可用?您尝试过吗?要么有效,要么无效。我有时会在控制器类中包含一些助手功能,如“include myfooohelper”。您应该能够在任何希望在其中使用帮助器的类中实现这一点。