2017-02-23 37 views
0

У меня есть static_controller с index действия, где идентификатор необходимапоказывает рельсы. а/в URL

Мои маршруты

get 'faqs' => 'static#main' 
    get 'faqs/:id' => 'static#index' 

, но если я использую этот путь faqs_path(faq_id) я получаю

http://localhost:5000/faq.1 вместо http://localhost:5000/faq/1

Может ли кто-нибудь сказать мне, как это исправить. Спасибо ..

ответ

2

Вам может понадобиться назвать их должным образом:

get 'faqs' => 'static#main', as: 'faqs' 
get 'faqs/:id' => 'static#index', as: 'faq' 

Обычно вы делаете это с resources, где вы пытаетесь придерживаться конвенций REST, но в вашем случае, если вам действительно нужно их таким образом вы будете иметь для тренировки маршрутизатора.

Заполните с rake routes, что имена верны. Возможно, вы звонили faqs_path с id в качестве опционального спецификатора :format.

+0

Точно, что я искал .. Спасибо – Abhilash

0

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

get 'faqs/:id' => 'static#index' 
get 'faqs' => 'static#main' 

в

get 'faq/:id' => 'static#index' 
get 'faqs' => 'static#main' 

и ваш path является: faq_path(faq_id)

Скажи мне, если это не сработает.

+0

это не работает..это же – Abhilash

+0

@Abhilash я обновил свой ответ, вы можете проверить его еще раз? –

+0

такой же .. не работает – Abhilash

0

Можете ли вы попробовать. faqs_path(:id => faq_id)

+0

, который будет работать, но он будет помещать params в '? Id =' вместо '/' – Abhilash

+0

его запрос на получение в любом случае .. параметры будут добавлены в конец.лет мне известно, если этот ответ помог :) – Milind

+0

да, я знаю, что могу сделать этот путь..Но определенно это не то, что ищу .. – Abhilash

 Смежные вопросы

  • Нет связанных вопросов^_^