2008-12-10 52 views
8

返回到舊的Rails項目後,我發現沒有任何銷燬/刪除鏈接起作用,並且單擊取消確認彈出窗口仍然會提交鏈接。我的代碼方法:=>:刪除不工作,並且:忽略確認選項

例子是:

<%= link_to 'Delete', admin_user_path(@user), :confirm => 'Are you sure?', :method => :delete %> 
+1

我在使用jQuery的Rails 3應用程序中遇到了同樣的問題。你有沒有找到解決方案? – Callmeed 2011-02-11 19:10:31

回答

3

這個問題,如果沒有,然後尋找類似的東西:

在我的情況,我用的是:

javascript_include_tag:所有%>

而且它不工作,但是當我把它想:

javascript_include_tag:默認%>

它的工作!

+0

jquery,對...忘了那個。 – 2011-01-28 22:31:11

0

克里斯,你好。我有同樣的問題。我刪除了Firebug,問題依然存在。我從另一個用戶那裏讀到他需要重新啓動Firefox,但這也不起作用。有人說嘗試Safari,那也沒用。

最後,這是一個新手的事情:

我有助手插入一個圖標,像edit_icon,它會返回一個良好的形象標籤的編輯圖標等

其中的一個輔助方法是delete_icon方法,我這樣寫:

def delete_icon(object = nil) link_to image_tag('icons/delete.jpg',:width => 20,:border => 0),object,:確認=>'你確定嗎?',:方法=>:刪除 結束

這是DRY的一個(良好的)嘗試,但是如果我只有def delete_icon(object),而不是object = nil,那麼它會更好,因爲它使得它更加清晰,當我調用它時必須將它傳遞給對象摧毀。調用與要刪除的對象相同的方法爲我工作。

簡而言之:如果您嘗試乾燥,請仔細檢查您的幫助器方法。如果你正在使用jQuery發生

0

下面是使用jQuery提供所有刪除按鈕進行同樣的確認方式:

;(function($){ 
    $(function(){ 
    $('input.destroy').click(function(){ 
     return confirm($(this).attr('data-confirm')); 
    }); 
    }); 
})(jQuery); 

你一定要一定要添加類=「消滅」每個元素,如:

= button_to 'Delete', polygon, :method => :delete, :class => "destroy", :confirm => "Are you sure?" 
0

大多數情況下,這是因爲您在加載之前或在頁面中的元素存在之前調用jQuery代碼。

爲了解決這個問題類似:

$(document).ready(function() { 
    $('*[data-confirm]').click(function(){ 
    return confirm($(this).attr('data-confirm')); 
    }); 
}); 
0

這裏是快速的解決方案 - 只需更換與數據確認符合

<%= link_to 'Delete', admin_user_path(@user), 'data-confirm' => 'Are you sure?', :method => :delete %> 
0

嘗試

之前使用

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script> 

<%= javascript_include_tag "application" %> 

在你的佈局,並且還刪除您的application.js

//= require jquery 

線。

這是我的情況。不知道爲什麼它不適用於原始軌道jquery.js文件。