ruby-on-rails Rails在视图外使用ActionView::Helper方法

lmvvr0a8  于 2023-08-08  发布在  Ruby
关注(0)|答案(2)|浏览(97)

我已经创建了一个助手,我想用它来进行文本操作

module ApplicationHelper

  module TextHelper

    extend ActionView::Helpers

  end
end

字符串
但是,当我在Rails控制台中运行ApplicationHelper::TextHelper.simple_format "foo"时,我得到

NoMethodError: undefined method `white_list_sanitizer' for Module:Class


还有什么我需要包括的吗?
我已经看过https://github.com/rails/rails/issues/13837了,但它没有工作。
使用Rails 4、Ruby 1.9.3

gzszwxb4

gzszwxb41#

如果您在控制台中,您应该可以执行helper.simple_format('hi')helper方法可以在控制台中调用一些helper方法。
使用自定义辅助对象时:

# app/helpers/custom_helper.rb
module CustomHelper
  def custom_method(x)
    puts "Custom method #{x}"
  end
end

# from the console
helper.custom_method('hi')

# from the controller
class SomeController < ApplicationController

  def index
    view_context.custom_method('hi')
  end
end

字符串

z9zf31ra

z9zf31ra2#

可以在ActionController::Base.helpersRails.application.routes.url_helpers中使用辅助程序
比如说

helpers = ActionController::Base.helpers
url_helpers = Rails.application.routes.url_helpers

helpers.link_to "Root_path", url_helpers.root_path
# => "<a href=\"/\">Root_path</a>"

字符串

相关问题