2011-07-21 36 views
1

当用户进入色器件定制路由

/帐号/编辑

点击提交按钮重定向到

/注册

路径?任何帮助将不胜感激。

路线

devise_for :users, :skip => [:registrations, :sessions] do 
    get 'signup' => 'devise/registrations#new', :as => :new_user_registration 
    post 'signup' => 'devise/registrations#create', :as => :user_registration 
    get 'users/cancel' => 'devise/registrations#cancel', :as => :cancel_user_registration 
    get 'account/edit' => 'devise/registrations#edit', :as => :edit_user_registration 
    put 'account' => 'devise/registrations#update' 
    delete 'users' => 'devise/registrations#destroy' 

    get 'signin' => 'devise/sessions#new', :as => :new_user_session 
    post 'signin' => 'devise/sessions#create', :as => :user_session 
    get 'signout' => 'devise/sessions#destroy', :as => :destroy_user_session 
end 

注册/ edit.html.erb

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %> 
<% if resource.errors.any? %> 
    <div id="error_explanation"> 
     <ul> 
     <% resource.errors.full_messages.each do |msg| %> 
     <li><%= msg %></li> 
     <% end %> 
     </ul> 
    </div> 
<% end %> 
<div class="field"> 
    <%= f.label :email %><br/> 
    <%= f.email_field :email %> 
</div> 
<div class="field"> 
    <%= f.label :password %><br/> 
    <%= f.password_field :password %> 
</div> 
<div class="field"> 
    <%= f.label :password_confirmation %><br/> 
    <%= f.password_field :password_confirmation %> 
</div> 
<div class="field"> 
    <%= f.label :current_password %><br/> 
    <%= f.password_field :current_password %> 
</div> 
<div class="actions"> 
    <%= f.submit %> 
</div> 
<% end %> 
+0

它发布到/注册..什么是应该是所需的行为? – Olives

回答

1

据我所知,有这两种可能的解决方案。

溶液#1:

改变这一行:

post 'signup' => 'devise/registrations#create', :as => :user_registration 

向该:

post 'account' => 'devise/registrations#create', :as => :user_registration 

溶液#2:

改变这一行:

put 'account' => 'devise/registrations#update' 

要这样:

put 'account' => 'devise/registrations#update', :as => :update_user_registration 

,然后更改在视图中的form_for url选项:

form_for(resource, :as => resource_name, :url => update_user_registration_path, :html => { :method => :put })