2014-02-26 17 views
0

我有一個可以在其參數中有句點的路由。下面是我的路線是什麼樣子:在參數中有一個點的路由和它的約束

put 'book/:book_name' => :create_record 

如果我通過:book_name'The End.',我回來了錯誤的東西,如「沒有找到路徑」。尋找它,我瞭解到我需要添加一個像{:book_name => /[^\/]+/ }這樣的約束條件才能工作。

現在,我可以將:book_name的值作爲'The End.''...'或其他任何具有句點的值。然而,當我只傳遞一個'.'時,它又以相同的「找不到路線」錯誤向我拋出。

我該如何處理?

+0

你真的需要一個只有「。」的路線嗎? – emaillenin

+0

是的:book_name是一個字符串,它可以有任何字符。如果找不到解決方案,則會更新要求,以使book_name的最小字符超過2個,因爲我注意到使用'...'的作品其中'。'。或'..'沒有。 –

回答

0

代替

{:book_name => /[^\/]+/ } 

嘗試:

{:book_name => /[^\/]*/ } 

*匹配0或任何數量的前面的字符倍。

+0

好吧試試吧。 –

+0

對不起,這並沒有多大幫助。我仍然看到相同的結果。 :( –

+0

嘗試'{:book_name => /.*/}' – emaillenin