我想要做的是在 Haml 视图中使用别名方法(在 ruby 文件中定义)。
我定义了一个别名方法,如下所示:
require 'sinatra'
require 'sinatra/base'
require 'data_mapper'
require 'haml'
helpers do
include Haml::Helpers
alias_method :h, :html_escape
end
class App < Sinatra::Base
use Rack::MethodOverride
# ...
end
然后我h()
在 Haml 视图中使用了如下方法:
- @notes.each do |note|
%article{:class => note.complete? && "complete"}
%p
=h note.content
但是当我打开页面时出现错误:
NoMethodError - # 的未定义方法“h”:
...
当我Haml::Helpers.html_escape()
直接在haml文件上使用时,没有问题:
%p
= Haml::Helpers.html_escape note.content
如何在 haml 文件中使用我的别名方法而不会出错?
感谢您对此问题的任何建议或更正。