Aar*_*thi 4 ruby-on-rails helpers
helper 目录中的文件是否会包含在所有控制器中?我没有找到任何关于这个的好的解释。我的控制器中有 2 个自定义目录(例如 admin,对于普通用户)。我的助手有相同的目录结构吗?助手名称是否与控制器名称相同只是为了便于阅读?
默认情况下,所有的帮助文件app/helpers都包含在所有控制器中。因此,您如何构建 helpers 文件夹中的内容并不重要。如果你真的想强制控制器只包含匹配的帮助程序,那么config.action_controller.include_all_helpers在 config 中设置为false.
详情见评论部分:https : //github.com/rails/rails/blob/b5db73076914e7103466bd76bec785cbcfe88875/actionpack/lib/action_controller/metal/helpers.rb
小智 4
Helper 只是一个 Ruby 模块,可公开用于视图和控制器。如果您不希望代码公开给视图,则永远不应该将代码保留在 helper 中。
如果您想对所有控制器和视图使用辅助方法。然后,您可以向应用程序帮助器添加方法并将其包含到应用程序控制器。但是,如果您不想向视图公开方法,那么您可以使用 Rails 关注点。在其中创建一个方法并将其包含在不同的控制器中。
没有助手不命名相同的名称只是为了可读性。如果您想在控制器中使用它,您仍然需要包含在同名控制器中来调用函数。但您仍然可以使用同名的内部视图方法。
| 归档时间: |
|
| 查看次数: |
3136 次 |
| 最近记录: |