控制器helper_method

Joh*_*Del 43 ruby-on-rails ruby-on-rails-3

我想知道为什么有人应该在控制器中使用helper_method创建一个辅助方法,而不是创建帮助文件内部的"正常"方式.那有什么优点和缺点?

And*_*Vit 82

helper_method当功能是在控制器和视图之间使用的东西时,它很有用.一个很好的例子是类似的current_user.

如果该方法更多地处理控制器逻辑而不是格式化,则它属于控制器.类似的东西current_user将在所有控制器之间共享,因此它应该在ApplicationController.

真正的"帮助器"方法处理视图并处理格式化和模板逻辑之类的事情.控制器中很少需要它们,它们属于app/helpers下的自己的模块.您可以在需要时将这些包含在控制器中,但最终会得到控制器可用的整个模块视图辅助方法.


Vik*_*rón 14

要在控制器和视图之间共享方法,您有以下几种选择: