Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 西纳特拉;铁路3号线问题_Ruby On Rails_Sinatra - Fatal编程技术网

Ruby on rails 西纳特拉;铁路3号线问题

Ruby on rails 西纳特拉;铁路3号线问题,ruby-on-rails,sinatra,Ruby On Rails,Sinatra,我刚刚在rails(v3.0.1)应用程序中安装了Sinatra v1.1.0。但我不能调用任何深度超过1级的路由,这意味着它可以工作- 但这一个不起作用-我得到一个“路由错误” 这是Sinatra物体 class CustomerApp < Sinatra::Base # this works get "/customer/:id" do "Hello Customer" end # this does NOT work get "/customer/:i

我刚刚在rails(v3.0.1)应用程序中安装了Sinatra v1.1.0。但我不能调用任何深度超过1级的路由,这意味着它可以工作-

但这一个不起作用-我得到一个“路由错误”

这是Sinatra物体

class CustomerApp < Sinatra::Base

  # this works
  get "/customer/:id" do
    "Hello Customer"
  end

  # this does NOT work
  get "/customer/:id/edit" do
    "Hello Customer"
  end

end

我猜我需要在路由文件中添加一些魔法?可能是什么问题?

您需要添加额外的路由以匹配不同的URL:

match '/customer/(:string)/edit' => CustomerApp

您需要添加额外的路由以匹配不同的URL:

match '/customer/(:string)/edit' => CustomerApp

在路由文件中,可以通过以下方式指定映射:

mount CustomerApp, :at => '/customer'
现在,在sinatra应用程序中,您可以在不使用
/customer
部分的情况下指定路线。
不要忘记在某个地方需要sinatra应用程序(您可以直接在route文件中执行)

在routes文件中,您可以通过以下方式指定映射:

mount CustomerApp, :at => '/customer'
现在,在sinatra应用程序中,您可以在不使用
/customer
部分的情况下指定路线。
别忘了在某个地方需要你的sinatra应用程序(你可以直接在route文件中完成)

routes.rb文件有大量的示例被注释掉。routes.rb文件有大量的示例被注释掉。谢谢,这太奇怪了,意味着你需要复制URL,这不好。谢谢,这太奇怪了,这意味着你需要复制URL,这是不好的。