2017-02-23 69 views
0

我有一個static_controllerindex行動在需要一個id導軌顯示。而不是/ 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_pathid作爲可選的: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

same..wont工作 – Abhilash

0

你可以試試。 faqs_path(:id => faq_id)

+0

這將工作,但它會把參數放在'?id ='而不是'/' – Abhilash

+0

它的一個get請求無論如何..so params將被附加在end.let我知道這個答案幫助:) – Milind

+0

是的,我知道我可以做到這一點..但絕對不是我在找什麼.. – Abhilash