tim*_*one 3 ruby-on-rails ruby-on-rails-3.2
我只是想尝试访问simple_format帮助器
class Note < ActiveRecord::Base
include SimpleHelper
def body_symbols_output_html
arc_simple_format(body_symbols_output)
end
Run Code Online (Sandbox Code Playgroud)
并在lib/simple_helper.rb中
module SimpleHelper
def arc_simple_format txt
simple_format txt
end
end
Run Code Online (Sandbox Code Playgroud)
得到
NoMethodError (undefined method `simple_format' for #<Note:0x007f7fbb913088>):
lib/simple_helper.rb:4:in `arc_simple_format'
Run Code Online (Sandbox Code Playgroud)
我如何访问simple_format?我知道访问视图级别的助手是一个坏主意,但这只是一个api
谢谢
您应该只包括适当的模块:
include ActionView::Helpers::TextHelper
Run Code Online (Sandbox Code Playgroud)
我建议的是避免使用所有这些方法破坏你的课程,这样你就可以在你的班级中创建一个Helper类:
class Note
delegate :simple_format, to: :helper
def helper
Helper.instance
end
private
class Helper
include Singleton
include ::ActionView::Helpers::NumberHelper
end
end
Run Code Online (Sandbox Code Playgroud)