【问题标题】:Padrino route optional parameter帕德里诺路线可选参数
【发布时间】:2018-04-09 18:43:11
【问题描述】:

我正在尝试对路线做一些技巧。而且我需要在 Padrino 中使用可选的路由参数。我用谷歌搜索了这个解决方案是“()”括号。我在文档中找不到。

但是当我尝试使用时

get :sort, :with => [:order, :asc, '(:search)'] do

他们,mustermann 给了我缺少参数的经典错误

cannot expand with keys [:asc, :order], possible expansions: [:asc, :order, :search]

当我尝试打电话时

url(:sbirka, :sort, :order => "id", :asc => @asc)

我也尝试了不同的风格

get :sort, "/:order/:asc/(:search)" do

结果相同

请问有什么建议吗?

【问题讨论】:

    标签: ruby padrino


    【解决方案1】:

    由于 Padrino 是基于 Sinatra 的,因此 Sinatra 可能的每种路由模式在 Padrino 中也应该是可能的。来自Sinatra's excellent README file,介绍性“路线”部分:

    路由模式可能有可选参数

    在您的情况下,假设 :search 是可选的,我会尝试:

    get '/:order/:asc/:search?' do
      # your  code
    end
    

    【讨论】:

    • 非常感谢!我会尝试,它像路由一样工作,我必须将我的 url 助手更改为 sinatra 样式,padrino 样式 url(:sbirka, :sort, :order => "country", :asc => @asc) 不起作用,我我会尽快写的
    • 它不工作 :( 如果我使用 :search? 示例,我得到 404 not found,当我把 :search? 放开时,它正在工作。
    猜你喜欢
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 2013-07-05
    • 2014-03-01
    • 1970-01-01
    • 2014-09-26
    相关资源
    最近更新 更多