Ruby on rails 西纳特拉;铁路3号线问题
我刚刚在rails(v3.0.1)应用程序中安装了Sinatra v1.1.0。但我不能调用任何深度超过1级的路由,这意味着它可以工作- 但这一个不起作用-我得到一个“路由错误” 这是Sinatra物体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
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,这是不好的。