我想知道为什么有人应该在控制器中使用helper_方法来创建helper方法,而不是在helper文件中创建"普通"方法.这样做的利弊是什么?
我想知道为什么有人应该在控制器中使用helper_方法来创建helper方法,而不是在helper文件中创建"普通"方法.这样做的利弊是什么?
当功能在控制器和视图之间使用时,helper_method
很有用.一个很好的例子是current_user
.
如果该方法更多地处理控制器逻辑,而不是格式化,那么它属于控制器.所有控制器之间都会共享大约current_user
个,所以应该在ApplicationController
中定义.
真正的"helper"方法处理视图并处理格式化和模板逻辑之类的事情.控制器中很少需要这些,它们属于应用程序/助手下的自己的模块.您可以在需要时将这些方法包括在控制器中,但最终您的控制器可以使用整个模块的视图辅助方法.