我在这里遇到问题: 我有一个控制器问题,其中包含 new 操作。 每当我需要创建新问题时,我都在输入
/questions/new
我应该对routes.rb进行哪些更改才能将URI更改为
/questions/ask
谢谢。 阀。
答案 0 :(得分:7)
试试这个:
map.ask_question '/questions/ask', :controller => 'questions', :action => 'new'
然后你将有一条命名路线,你可以:
link_to "Ask a question", ask_question_path
答案 1 :(得分:5)
如果您使用的是RESTful路线,或许您希望将map.resources用于问题。
要重命名操作网址,您可以执行以下操作:
map.resources :questions, :path_names => { :new => 'ask', :delete => 'withdraw' }
(为了示例,我添加了删除)
答案 2 :(得分:0)
哪个版本的rails?
通常默认路由应该捕获/ / controller /:action之类的内容,因此您可以在问题控制器中创建一个ask方法。如果你想要更平滑的东西,请查看named_route和map_resource的api文档。