我知道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