ОК, я понял, плохо, просто напечатайте это, чтобы помочь другим новичкам!
Сами маршруты меняются, но не навигационные ссылки, если они не закодированы таким образом.попробуйте http://localhost:3000/login и http://localhost:3000/users/sign_up, это одно и то же, но их нужно вводить вручную.
Мой новый код выглядит следующим образом (навигационные ссылки и конфигурации маршрута вместе):
rout.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
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 %>
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 %>
Я, безусловно, надеюсь, что это поможет людям, которые были потеряны, как я и только что попали в devise и RoR.это даст вам хорошее понимание того, как заставить маршруты выглядеть так, как вы хотите, чтобы они были простыми, но все же работали.Удачи!