2011-07-21 39 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 })