3

config.rb有效:

helpers do
    def link_to_nothing(text)
        link_to(text, "#")
    end
end

带模板index.html.erb

<%= link_to_nothing "Test link" %>


但是当我尝试Middleman::Sitemap::Resource在这个类中添加一个方法时config.rb

helpers do
    class Middleman::Sitemap::Resource
        def link(text)
            link_to(text, path)
        end
    end
end

带模板index.html.erb

<%= current_page.link "This page" %>

加载页面时出现以下错误:

/index.html 处的 NoMethodError

#<Middleman::Sitemap::Resource:0x3139848> 的未定义方法 `link_to'

4

1 回答 1

2

我发现这link_to是 class 的一个实例方法Middleman::Application,我可以通过app变量访问它:

helpers do
    class Middleman::Sitemap::Resource
       def link(text)
            app.link_to(text, path)
        end
    end
end
于 2013-07-30T16:02:17.303 回答