【问题标题】:Difference between stating helper methods in helper and controller files在帮助程序和控制器文件中说明帮助程序方法之间的区别
【发布时间】:2019-06-14 09:48:03
【问题描述】:

在 Ruby on Rails 中,我们可以在控制器中声明一个辅助方法,例如

# app/controllers/my_controller.rb

class MyController < ApplicationController
  helper_method :helper_method_name

  ...

  private

  def helper_method_name
    ...
  end
end

在助手中,例如

# app/helpers/my_helper.rb

class MyHelper
  def helper_method_name
    ...
  end
end

有什么区别(在访问、使用等方面)?

【问题讨论】:

    标签: ruby-on-rails ruby controller helper


    【解决方案1】:

    helper_method方法是显式共享控制器中定义的一些方法,使它们可用于视图。

    这用于您需要从 controllershelpers/views 访问的任何方法(标准的帮助方法在控制器中不可用)。

    【讨论】:

      【解决方案2】:

      正如雷所说。只有当您确实需要在 both 控制器和助手/视图中使用 helper_method 时,您才想使用它。

      通常,您希望对各个方法使用控制器关注点和助手(视图),因为这是惯例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 2015-12-07
        • 1970-01-01
        • 1970-01-01
        • 2016-02-09
        • 1970-01-01
        相关资源
        最近更新 更多