我在Padrino的控制器中有这个配置
MyProject::App.controllers do
get '/' do
handlebars :index
end
get :file, :with => :tokenId do
tokenId = params[:tokenId]
[extra logic]
end
end
GET / works。
GET / file / abc没有。
GET / file /:tokenId有效!
看起来:token
未被识别为路径定义中的参数占位符。
我试过
get "/file/:tokenId"
但也没有运气。
我找不到任何类似问题的信息,有人可以提供帮助吗?很高兴在需要时添加更多信息。
答案 0 :(得分:0)
好吧所以我不确定为什么改变会有所不同但是camelCase通常被认为是ruby中变量的语法不好。(Padrino可能会在你的变量上调用一个方法,例如下划线,即
"tokenID".underscore.to_sym
#=>:token_id
使用underscored_variables代替。 (例如:tokenID
变为:token_id
。此结构还允许以更好的方式与数据库进行交互,因为您的列的名称将为token_id
而不是tokenID
。
在ruby和rails中使用camelCasing,例如class
命名和generators
,但尝试将所有本地变量和实例变量保存为小写下划线格式。
我在padrino
做的工作不多,所以我不能100%确定为什么这个改变会有所帮助,但我很高兴我能提供帮助。