rspec дроссели на именованном пути в рельсах 3 - PullRequest
0 голосов
/ 20 марта 2012

Переписываем фото портфолио на сайте, а URL должны соответствовать формату:

[site].com/portfolio/[category]/[image] 

для соответствия текущей реализации.

[site] .com и [site] .com / portfolio должны разрешиться в корень. мой файл маршрутов ниже:

root :to => 'portfolio#index'

match '/portfolio', :to => 'portfolio#index'

match '/portfolio/*category/*photo', :to => 'portfolio#photo'
match '/portfolio/*category', :to => 'portfolio#photo'

Я добавил ссылку в своем заголовке на:

%li= link_to "Portfolio", root_path

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

%li= link_to "Editorial", portfolio_photo_path

мои страницы хорошо обрабатываются в браузере, но rspec задыхается от меня; даже самые простые http-тесты успеха, которые раньше выполнялись нормально, теперь возвращают:

  1) PortfolioController GET 'index' returns http success
 Failure/Error: get 'index'
 ActionView::Template::Error:
   undefined local variable or method `portfolio_photo_path' for #<#<Class:0x572d210>:0x5733d68>
 # ./app/views/layouts/_header.html.haml:7:in `_app_views_layouts__header_html_haml__420220390_28357236'
 # ./app/views/layouts/application.html.haml:10:in `_app_views_layouts_application_html_haml__156489427_30065868'
 # ./spec/controllers/portfolio_controller_spec.rb:8:in `block (3 levels) in <top (required)>'

(когда я разгребаю маршруты, я получаю следующее)

$ rake routes
     root  /                                     portfolio#index
portfolio  /portfolio(.:format)                  portfolio#index
           /portfolio/*category/*photo(.:format) portfolio#photo
           /portfolio/*category(.:format)        portfolio#photo

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Вы должны добавить оператор ": as =>: портфолио":

match '/portfolio', :to => 'portfolio#index', :as => :portfolio
0 голосов
/ 21 марта 2012

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

...