Sinatra & Rails 3 выпускают маршруты - PullRequest
0 голосов
/ 16 ноября 2010

Я только что установил Sinatra v1.1.0 в моем приложении rails (v3.0.1).Но я не могу вызвать какие-либо маршруты глубиной более 1 уровня, что означает, что это работает - http://localhost/customer/3,

, но этот не работает - http://localhost/customer/3/edit, и я получаю "Ошибка маршрутизации "

Вот объект 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

Это то, что у меня есть в моем файле rails rout.rb -

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

Я думаю, мне нужно немногомагия в файле маршрутов?В чем может быть проблема?

Ответы [ 2 ]

3 голосов
/ 18 мая 2011

В вашем файле маршрутов вы можете указать отображение следующим образом:

mount CustomerApp, :at => '/customer'

Теперь внутри приложения sinatra вы можете указать свои маршруты без части /customer. Не забудьте запросить где-нибудь приложение sinatra (вы можете сделать это прямо в файле маршрута)

1 голос
/ 16 ноября 2010

Вам необходимо добавить дополнительный маршрут для соответствия другому URL:

match '/customer/(:string)/edit' => CustomerApp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...