gpt4 book ai didi

ruby-on-rails - 尝试在模块中包含 Rails 帮助程序库

转载 作者:数据小太阳 更新时间:2023-10-29 08:00:34 24 4
gpt4 key购买 nike

我在 lib/sms.rb 中定义了一个名为 Sms 的模块。在其中,我有一个名为 Sms.chunk 的方法,它使用 word_wrap 方法。这是 TextHelper 库的一部分,所以我将它包含在模块的开头 include ActionView::Helpers::TextHelper:

module Sms
include ActionView::Helpers::TextHelper

def Sms.chunk
...
word_wrap
...

我在 config/initializers/additional_libs.rb 中的 require "sms" 行初始化期间需要此模块

我还有一个名为 TWILIO_API 的 Grape API 类,我想在其中调用 Sms.chunk。但是,当我这样做时,我得到了 undefined methodword_wrap' for Sms:Module`。我已尝试将 TextHelper 库包含在 TWILIO_API 类本身中,以及包含它的各种其他方式,但都没有成功。

我在这里做错了什么?

最佳答案

问题是 wrap_word是一个实例方法,您从类方法Sms.chunk 中调用它。通过删除 Sms. 部分使其成为实例方法。例如,以下作品:

require 'action_view'
class Test
include ActionView::Helpers::TextHelper
def test_method
word_wrap('Once upon a time')
end
end
o = Test.new
p o.test_method # "Once upon a time"

关于ruby-on-rails - 尝试在模块中包含 Rails 帮助程序库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16007369/

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