Рельсы маршрутизации и параметры с A '.' В них

Я использую Rails для защиты доступа к файлам, которые необходимо подавать только некоторым пользователям веб-приложения. Для этого у меня есть метод контроллера, который принимает информацию о файле, который хочет получить доступ, проверяет их авторизацию, а затем, если они авторизованы, использует X-SendFile, чтобы отправить его им. Концепция работает нормально, за исключением одной зачеты: если они просят ресурс с собой. В нем моя маршрутизация не знает, чтобы справиться с этим. В моих маршрутах файл у меня есть:

match 'atb_resources/:guid/:resource'  => 'atb_resources#show', :as => :get_atb_resource, :via => :get

и, но тогда, если я попробую это в своем спецификации:

get 'show', :guid => 'some_guid', :resource => 'blah.txt'

Спецификация не удается с A:

Failure/Error: get 'show', :guid => @atb.guid, :resource => 'blah.txt'
 ActionController::RoutingError:
   No route matches {:guid=>"ABCDEFG5", :resource=>"blah.txt", :controller=>"atb_resources", :action=>"show"}

, но это нормально:

get 'show', :guid => 'some_guid', :resource => 'blahDOTtxt'

Я предполагаю, что проблема с моей маршрутизацией , но я не очень понимаю, как периоды влияют на маршруты. Любые идеи?

6
задан Matthew 1 September 2011 в 20:30
поделиться