如何在资源URL中使用连字符? 例如:/my-model/
或/my-model/1
。 如果我将路由定义为resources :"my-model"
,则得到语法错误,因为rails会生成方法def hash_for_my-models_url(options = nil)
。轨道3中的连字符资源路线
回答
我已经找到了解决方案:
resources "my-models", :as => :my_models, :controller => :my_models
更新: 正如Timo Saloranta在评论中所说,它在最新的Rails 3版本中没有使用:controller => :my_models
。
我认为这也行得通(不同之处在于路由助手的命名):'资源:产品类型,:路径=>'/产品类型' – sandstrom 2011-10-17 18:49:06
它没有**控制器* *部分最新的Rails 3版本。 – 2013-03-27 14:38:13
您是否尝试过自定义路线?
map.connect "/my-model/:id", :controller => 'my-model-controller', :action => 'read'
这将调用“我的模型,controller.rb”的“读”的方法。
是的,这是显而易见的解决方案,但有趣的是如何使用资源定义连字符路线。 – 2010-11-02 15:55:09
可以使用:as
选项用连字符的URL配置足智多谋路线:
map.resources :my_model, :as => "my-model"
结果
my_model_index GET /my-model(.:format) {:action=>"index",
:controller=>"my_model"}
...等...
我已经这么做了。当我使用连字符命名模型时,我得到了同样的错误。 – 2010-11-03 02:08:02
即使您使用引用的字符串而不是符号? – zetetic 2010-11-03 06:21:16
是的......这是我第一次感谢.. – 2010-11-08 02:30:33
- 1. 连字符在轨道3路线
- 2. 在轨道上设置资源路线的命名路线
- 3. 轨道3路线别名
- 4. 轨道路由中的资源和资源之间的区别?
- 5. 路线在轨道3语法从轨道2〜3
- 6. 奇怪的轨道3路线问题
- 7. :轨道3路线的任何选项
- 8. 简单的方法来规范轨道资源路线
- 9. 多个资源路由在轨道
- 10. 轨道嵌套的资源和路由初始化资源
- 11. 在轨资源删除一条路线
- 12. Rails 2路线到轨道3转换
- 13. 轨道3路线:不同的汽车路线模型
- 14. 通过轨道3中的查询字符串进行路由?
- 15. Laravel路线:路线::资源
- 16. 动态轨道的路线
- 17. 轨道路线,只是没有符号
- 18. 我如何覆盖轨道3中的命名路线的范围路线?
- 19. 轨路由嵌套资源
- 20. 轨道3命名路由
- 21. 轨道路线 - 用连字符替换空格的ID和名称
- 22. 嵌套的资源和建立我的控制器,轨道3
- 23. 如何添加一个删除路线与嵌套的资源轨道4
- 24. 帮助与轨道路线
- 25. 关于轨道路线
- 26. 短嵌套轨道路线
- 27. 轨道路线问题
- 28. 轨道 - 如何定位的嵌套的资源路径
- 29. has_one在轨道中的嵌套路线
- 30. 了解轨道中的路线
可能的重复[在Ruby on Rails路由我想使用Dash \' - \'而不是Underscore \'\ _ \'](http://stackoverflow.com/questions/5334465/in-ruby- on-rails-routing-i-like-like-use-dash-instead-of-underscore) – 2015-04-03 21:26:32