Ruby on rails 设计更改不工作的默认路由
当我在上使用Desive Wiki时,我的默认路线名称根本不会更改,以下是我的代码:Ruby on rails 设计更改不工作的默认路由,ruby-on-rails,devise,Ruby On Rails,Devise,当我在上使用Desive 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
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
两条路线的改变不起作用,所以我停了下来
我如何更改它,使我的路线:
/用户/登录=/login
/用户/sign\u up=/signup
/用户/注销=/signout
/用户/edit=/edit
我正在使用Desive 1.3.4和Rails 3.0.7
提前谢谢你 好吧,我想好了,我会把这个打出来帮助其他新手 路线本身会改变,但导航链接不会改变,除非以这种方式编码。 试试看,它们都是一样的,只是需要手动输入 我的新代码如下所示(导航链接和路线配置一起): 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
<% if user_signed_in? %>
<li>
<%= link_to('Logout', logout_path) %>
</li>
<% else %>
<li>
<%= link_to('Login', login_path) %>
</li>
<% end %>
视图/设计/菜单/\u登录\u items.html.erb:
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
<% if user_signed_in? %>
<li>
<%= link_to('Logout', logout_path) %>
</li>
<% else %>
<li>
<%= link_to('Login', login_path) %>
</li>
<% end %>
视图/designe/menu/\u registration\u 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 %>
我当然希望这能帮助那些像我一样迷路的人,他们刚刚进入Desive和RoR。它将使您很好地理解如何使路线以您希望的方式以简单的方式显示,但仍然有效。祝你好运 这些wiki页面是非常好的资源
说明如何更改登录/注销路由,但也可以轻松应用于注册。看一看将块传递给
design\u for
会给出一个不推荐使用的警告。您可以将其替换为design\u for:users',后跟一个design\u scope:user`并将块传递给它。