2014-07-21 38 views
3

我有我的應用程序使用Devise & Simple_Form最奇怪的問題。我所有的功能都運行良好,現在當我「更新」我的帳戶時,它只是取消帳戶。我沒有改變我的控制器甚至是我的編輯表格。我發現這個問題在推向Heroku後發現並且注意到了開發和生產中的變化,所以我不確定是什麼導致了這個問題。設計問題,「更新」方法現在正在刪除我的用戶帳戶

解決方案:在我的全力自動生成色器件的形式,有一個失蹤</div>引起我的更新和取消功能來獲得混合在一起。由於設計格式的方式,在所有的代碼中,這個標籤並沒有關閉!整蠱。

有沒有辦法重寫設計默認值來修復這個奇怪的錯誤?

<%= form_for(resource, 
    as: resource_name, 
    url: registration_path(resource_name), 
    html: { method: :put }) do |f| %> 
<%= devise_error_messages! %> 

<div> 
    <%= f.label :profile_photo %><br /> 
    <%= f.file_field :profile_photo, label: "Image" %> 
    <%= image_tag (current_owner.profile_photo.url(:thumb)) %> 
**</div>** 

<div> 
    <%= f.submit "Update" %> 
</div> 
<% end %> 

<h3>Cancel my account</h3> 

<p>Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), 
    data: { confirm: "Are you sure?" }, method: :delete %></p> 
+1

我有同樣的問題,這是很難調試。感謝您發佈解決方案的朋友! =)您只需將解決方案作爲答案發布,而不是作爲問題編輯。 –

+0

如果發生器有問題,您應該將問題報告給https://github.com/plataformatec/devise/issues – p4sh4

+0

感謝您的發帖。對於爲什麼設計「更新」按鈕正在刪除用戶的問題,我被困在一個問題上 - 原來這是我自己的錯誤前端代碼!我通過整理div標籤並將form_for塊放在正確的位置來修復它。 (起初我以爲這是一個數據庫的東西,幸運的是它不是!) – Atlas7

回答

3

將「取消我的帳戶」按鈕放在您的表格之外。

+0

「取消我的帳戶」按鈕實際上並不在「form_for」塊中,它恰好在頁面末尾的表單之外。我不知道路由是如何切換的,因爲它在Devise中自動設置。有沒有一種方法來明確地設置一個方法/路線與'<%= f.submit「更新」%>'線,以便它正確更新? – bonesjones

0

非常棘手!我花了1小時試圖解決這個問題,這是一個失蹤的</div>! 感謝您提出並回答此問題。