我在这里遇到一个问题:我有一个控制器questions,它有 action new。每当我需要创建新问题时,我都会输入
/questions/new
我应该对 routes.rb 进行哪些更改才能将 URI 更改为
/questions/ask
谢谢你。阀门。
我在这里遇到一个问题:我有一个控制器questions,它有 action new。每当我需要创建新问题时,我都会输入
/questions/new
我应该对 routes.rb 进行哪些更改才能将 URI 更改为
/questions/ask
谢谢你。阀门。
试试这个:
map.ask_question '/questions/ask', :controller => 'questions', :action => 'new'
然后你会有一个命名的路线,你可以:
link_to "Ask a question", ask_question_path
如果您使用的是 RESTful 路由,也许您想使用 map.resources 来解决您的问题。
要重命名操作 URL,您可以这样做:
map.resources :questions, :path_names => { :new => 'ask', :delete => 'withdraw' }
(为了示例,我添加了删除)
哪个版本的导轨?
通常,默认路由应该捕获 /:controller/:action 之类的任何内容,因此您可以在问题控制器中创建一个 ask 方法。如果您想要更流畅的操作,请查看 named_route 和 map_resource 的 api 文档。