4

我在这里遇到一个问题:我有一个控制器questions,它有 action new。每当我需要创建新问题时,我都会输入

/questions/new

我应该对 routes.rb 进行哪些更改才能将 URI 更改为

/questions/ask

谢谢你。阀门。

4

3 回答 3

7

试试这个:

map.ask_question   '/questions/ask', :controller => 'questions', :action => 'new'

然后你会有一个命名的路线,你可以:

link_to "Ask a question", ask_question_path
于 2008-12-02T10:29:03.903 回答
5

如果您使用的是 RESTful 路由,也许您想使用 map.resources 来解决您的问题

要重命名操作 URL,您可以这样做:

map.resources :questions, :path_names => { :new => 'ask', :delete => 'withdraw' }

(为了示例,我添加了删除)

于 2009-02-02T17:36:43.863 回答
0

哪个版本的导轨?

通常,默认路由应该捕获 /:controller/:action 之类的任何内容,因此您可以在问题控制器中创建一个 ask 方法。如果您想要更流畅的操作,请查看 named_route 和 map_resource 的 api 文档。

于 2008-12-02T09:49:55.197 回答