路径中的参数未解析

时间:2014-03-20 15:09:39

标签: ruby padrino

我在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"

但也没有运气。

我找不到任何类似问题的信息,有人可以提供帮助吗?很高兴在需要时添加更多信息。

1 个答案:

答案 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%确定为什么这个改变会有所帮助,但我很高兴我能提供帮助。