gpt4 book ai didi

ruby-on-rails - 如何在辅助模块中定义的模型类中使用方法

转载 作者:行者123 更新时间:2023-12-04 06:34:45 25 4
gpt4 key购买 nike

我只是想访问 simple_format 助手

class Note < ActiveRecord::Base
include SimpleHelper

def body_symbols_output_html
arc_simple_format(body_symbols_output)
end

在 lib/simple_helper.rb 中

module SimpleHelper
def arc_simple_format txt
simple_format txt
end
end

得到

NoMethodError (undefined method `simple_format' for #<Note:0x007f7fbb913088>):
lib/simple_helper.rb:4:in `arc_simple_format'

我如何访问 simple_format?我知道访问 View 级别的助手是个坏主意,但这只是提供一个 api

谢谢

最佳答案

您应该简单地包含适当的模块:

include ActionView::Helpers::TextHelper

不过我的建议是避免用所有这些方法破坏你的类,这样你就可以在你的类中创建一个 Helper 类:

class Note
delegate :simple_format, to: :helper

def helper
Helper.instance
end

private

class Helper
include Singleton
include ::ActionView::Helpers::NumberHelper
end
end

关于ruby-on-rails - 如何在辅助模块中定义的模型类中使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22847331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com