我知道Rails使用控制器動作風格的URL像www.myapp.com/home/index
例如
我想有這樣的網址在我的Rails應用程序,www.myapp.com/my_page_here
這是可能的,如果這樣會怎樣我去解決這個問題?自定義URL
自定義URL
回答
你只是在用get
之外的任何resources
或namespace
塊的你routes.rb
file:
get 'my_page_here ', :to => 'home#index'
假設您使用的是Rails 3+,請勿使用match
。這可能很危險,因爲如果頁面接受來自表單的數據,它應該接受POST請求。 match
會允許GET請求帶有副作用 - 這是不好的。
如果可能,請始終使用get
,put
,post
或這些變體。
爲了得到一個路徑幫手,試試:
get 'my_page_here ', :to => 'home#index', :as => :my_page
這樣一來,在您的看法,my_page_path
將等於http://{domain}/my_page_here
你只需要做出一個路由規則到該網址 匹配在這種情況下它會像
match 'my_page_here' => 'your_controller#your_action'
您的控制器和動作將指定頁面的行爲
,所以你可以做
match 'my_page_here' => 'home#index'
或
get 'my_page_here', :to => 'home#index'
正如其他答覆中所建議的那樣。
在家庭控制器索引操作,如果你有這樣的控制器
'match'是舊的,不應該被使用! – ronalchn
您可以使用:via => [:get]使匹配只響應GET請求。對於正常的靜態頁面,匹配工作正常。 Rails的構建方式使得應用程序製造商不需要知道HTTP動詞 - 因此,對於大多數內容顯示頁面,rails使用match來減輕http的負擔。 –
- 1. 自定義URL SEO
- 2. 自定義ZendRestController URL
- 3. 定義自定義CakePHP分頁url
- 4. 自定義URL在傑奇
- 5. 自定義Spring CAS j_spring_cas_security_check URL
- 6. Spring MVC自定義URL
- 7. yii自定義url重寫
- 8. Rhomobile:自定義URL Schemes
- 9. 帶自定義uRL的RKResponseDescriptor
- 10. 自定義URL WordPress REST API
- 11. 用戶自定義URL
- 12. 自定義URL啓動
- 13. 自定義URL方案
- 14. Yii URL自定義規則
- 15. CouchDB Futon自定義URL
- 16. 如何自定義swagger url?
- 17. Wordpress自定義URL頁面
- 18. 自定義URL流星
- 19. 的WordPress:自定義URL
- 20. 自定義URL方案Android
- 21. Umbraco自定義url段落
- 22. 自定義URL路由
- 23. android自定義url方案..?
- 24. 自定義URL Yii中
- 25. 在rails中自定義URL
- 26. 自定義URL計劃IOS
- 27. 笨自定義URL結構
- 28. PHP自定義URL彈頭
- 29. 自定義URL蛋糕PHP
- 30. PHP自定義URL路由
最後在末尾添加':as =>:my_page',並在您的視圖中使用'my_page_path'助手。 – dimitarvp
大awnser :) – Francois
有點遲了,但路徑助手會生成路徑而不是url。因此'my_page_path'將返回'「/ my_page_here」'。 – rubish