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”。您应该能够在任何希望在其中使用帮助器的类中实现这一点。