【发布时间】:2013-06-19 12:41:36
【问题描述】:
可能是一些非常基本的东西,但我希望能够在模块化 Sinatra 应用程序中使用一些自定义帮助方法。我在 ./helpers/aws_helper.rb 中有以下内容
helpers do
def aws_asset( path )
File.join settings.asset_host, path
end
end
然后在我看来,我希望能够像这样使用这种方法
<%= image_tag(aws_asset('/assets/images/wd.png')) %>
但我得到了上述区域,所以在我的 app.rb 文件中我是
require './helpers/aws_helper'
class Profile < Sinatra::Base
get '/' do
erb :index
end
end
我的问题是我在个人资料课程之外需要它。这是没有意义的,因为我要求我的 ENV 变量的配置文件以相同的方式被读取,但它们又不是方法,所以我想这确实有意义。
我想我可能很难理解模块化应用程序是什么,而不是使用经典风格的 sinatra 应用程序。
任何指针表示赞赏
错误信息
NoMethodError at / undefined method `aws_asset' for #<Profile:0x007f1e6c4905c0> file: index.erb location: block in singletonclass line: 8
【问题讨论】:
-
你真的错过了
require行末尾的撇号吗?您收到的实际完整错误消息是什么? -
不,那是一个错字,已经修改,我也添加了我得到的错误
标签: ruby methods sinatra helper