Sinatra Sinatra 的 helpers 问题

royisme · 2012年09月24日 · 最后由 hooopo 回复于 2013年01月09日 · 3589 次阅读

如果已经 require 某 helper module 以后需要再用 helpers xxxHelper 来声明吗? 我的调用是在 app.rb 里面

class App < Sinatra::Application
    Dir[root_path("app/**/*.rb")].each do |file|
        require file
    end
end

然后在 app/modules/xx.rb 里面写

get '/' do
        testfunc ”string"
    slim :index 
end

报错说没有 testfunc 这方法,这个方法是在 app/helpers/xxxHelper.rb 定义的

Dir.glob(root_path("app/*/.rb")).each do |file|
  require file
end

classic 模式是不需要 helpers 的。

modular < Sinatra::Application 是需要的。

#1 楼 @metal 你的写法和我的不一样吗?

#3 楼 @royisme 我觉得可能没 require 到

#2 楼 @Saito 没理解你说的意思 另外,你说的这事情也是我不太理解的,就是 < Sinatra::Base 和 < Sinatra::Application 的区别

#4 楼 @metal Dir[] = Dir.glob() 这个是手册上写的啊,会不一样吗?另外我测试了是引入成功的

#6 楼 @Saito 非常感谢,不过我刚才问的问题,貌似没有写到,就是 Base 和 Application 的区别,因为我是在二次开发其他人写的一段程序,他用的就是 Application,我在文档上看都是 base

#8 楼 @royisme Application 是 Base 的 subclass. 所以是一样的。

@Saito 非常感谢,另外说一句,我也名内拉祖里

#10 楼 @royisme cool!!! 现在日风日下..能碰到支持统一球队的太难了。

@Saito 哎,都支持了 16 年了,也算是啥都见过了,理想也是去北看台!!!

#12 楼 @royisme 哇,比我还要久.. 我也就是罗尼开始的。97 年。

@Saito 跟我差不多啊,我 96 年看的,那个时候还有卡洛斯呢。。。

@Saito 貌似歪楼了。。。

#9 楼 @Saito 擦!弄个经典风格和模块风格。。还整了个ApplicationBase

需要 登录 后方可回复, 如果你还没有账号请 注册新账号