代码之家  ›  专栏  ›  技术社区  ›  Jamal Abdul Nasir

路由问题

  •  0
  • Jamal Abdul Nasir  · 技术社区  · 14 年前

    我想将RoR中的默认路由更改为我想要的: 考虑下面的例子。。。

    :controller/:action/:id
    

    它将在浏览器中为您提供如下路径: http://localhost:3000/controller/action/id

    现在我想把它改成。。。

    http://localhost:3000/this-is-what-i-want/id

    我们可以为控制器和操作获取一个别名,就像。。。

    resources :controller, :as => "my-custom-name"
    

    resources :controller, :path_names => { :action => 'my-custome-name-1', :action => 'my-custome-name-2' }
    

    但我想马上改变控制器和动作。。。如果你注意到上面的话 http://localhost:3000/这是我想要的/id

    需要帮助。。。 提前谢谢。。。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Yannis    14 年前

    在Rails2中:

    map.a_name 'this-is-what-i-want/:id', :controller => 'controller_name', :action => 'action_name'
    

    在Rails3中:

    match 'this-is-what-i-want/:id' => 'controller_name#action_name'
    
        2
  •  0
  •   Jesse Wolgamott    14 年前

    您希望使用Rest路由,而不是控制器/操作

    我要用“球”而不是“这是我想要的”

    resources :balls
    

    link_to(ball.name, ball ).

    这会给你一个 http://localhost:3000/balls/45

    这个 rails rest cheatsheet