Я думаю, что столкнулся с конфликтом из-за имен:
Две модели: store
coupon
Требуется URL, который будет отображать купоны: http://localhost/coupons/:store_name
('купоны' записаны в URL, не заменены ничем)
Имя контроллера: coupons_controller
Вот то, что я сейчас имею в своих маршрутах:
match '/coupons/:store_name' => 'coupons#index', :as => :stores
Когда я пытаюсь сделать redirect stores_path(store)
в другом контроллере, я получаю эту ошибку:
No route matches {:controller=>"coupons"}
Есть какие-нибудь подсказки? Я новичок в рельсах, поэтому я уверен, что это глупая ошибка.
UPDATE
Есть ли какое-то центральное место, чтобы сказать динамическим функциям _path () использовать определенную структуру URL? т.е. вместо того, чтобы делать везде:
redirect_to stores_path(:store_name => store.store_name)
Вместо этого используйте просто:
redirect_to stores_path(store)