首页 > 解决方案 > 如何在视图中使用来自另一个控制器的控制器辅助方法?

问题描述

我有两个具有相同名称但返回不同内容的辅助方法的控制器:

class My1Controller < ApplicationController
  helper_method :my_helper

  def show
    ...
  end


  private

  def my_helper
    "Something from My1 controller"
  end
end

class My2Controller < ApplicationController
  helper_method :my_helper

  def show
    ...
  end


  private

  def my_helper
    "Something from My2 controller"
  end
end

在与我想使用 from 的返回值相关的app/views/my1/show.html.erb视图中。My1Controllermy_helperMy2Controller

我怎样才能做到这一点?

标签: ruby-on-railsrubycontrollerruby-on-rails-5helper

解决方案


将您的移动my_helper到一个单独的助手中。并将该助手包含回您要使用的控制器my_helper

# app/helpers/params_helper.rb

module ParamsHelper
  def sort_params
    params.permit(:sort).fetch(:sort, nil)
  end
  [...]
end

推荐阅读