设计更改默认路由不起作用

Lea*_*RoR 2 ruby-on-rails devise

当我在https://github.com/plataformatec/devise/wiki/How-To:-Change-the-default-sign_in-and-sign_out-routes关注Devise Wiki时,我的默认路由名称根本不会改变,这是我的代码:

MyApp::Application.routes.draw do
  root :to => "profile#index"     

  devise_for :users
  namespace :user do
    root :to => "profile#index"
  end

  as :user do
  get "/login" => "devise/sessions#new"
  get "/signup" => "devise/registrations#new"
  end
Run Code Online (Sandbox Code Playgroud)

两条路线的变化没有用,所以我停了下来.

我如何更改它,以便我的路线是:

/ users/sign_in =/login

/ users/sign_up =/signup

/ users/sign_out =/signout

/ users/edit =/edit

我正在使用Devise 1.3.4和Rails 3.0.7.

先感谢您!

Lea*_*RoR 8

好吧,我想通了,生病只是打字来帮助其他新手!

除非以这种方式编码,否则路线本身会改变但不会改变导航链接 尝试http:// localhost:3000/loginhttp:// localhost:3000/users/sign_up,它们是相同的东西,但只需手动输入.

我的新代码看起来像这样(导航链接和路由配置在一起):

routes.rb中:

MyApp::Application.routes.draw do

  devise_for :users do
    root :to => "devise/registrations#new"
    get "/" => "devise/registrations#new"
    post '/' => 'registrations#new', :as => :new_user_registration 
    match '/', :to => 'devise/registrations#new'    
    get "/edit" => "devise/registrations#edit"
    match '/edit', :to => 'devise/registrations#edit'   
    get "/login" => "devise/sessions#new"
    match '/login', :to => 'devise/sessions#new'
    get "/logout" => "devise/sessions#destroy"
    match '/logout', :to => 'devise/sessions#destroy'   
  end



  namespace :user do
    root :to => "profile#index"
  end
Run Code Online (Sandbox Code Playgroud)

views/devise/menu/_login_items.html.erb:

<% if user_signed_in? %>
  <li>
  <%= link_to('Logout', logout_path) %>        
  </li>
<% else %>
  <li>
  <%= link_to('Login', login_path)  %>  
  </li>
<% end %>
Run Code Online (Sandbox Code Playgroud)

views/devise/menu/_registration_items.html.erb

<% if user_signed_in? %>
  <li>
  <%= link_to('Edit account', edit_path) %>
  </li>
<% else %>
  <li>
  <%= link_to('Sign up', root_path)  %>
  </li>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我当然希望这可以帮助那些像我一样迷失的人,并进入设计和RoR.它将让您很好地理解如何让路线以简单的方式呈现您想要的方式,但仍然有效.祝好运!