返回到舊的Rails項目後,我發現沒有任何銷燬/刪除鏈接起作用,並且單擊取消確認彈出窗口仍然會提交鏈接。我的代碼方法:=>:刪除不工作,並且:忽略確認選項
例子是:
<%= link_to 'Delete', admin_user_path(@user), :confirm => 'Are you sure?', :method => :delete %>
返回到舊的Rails項目後,我發現沒有任何銷燬/刪除鏈接起作用,並且單擊取消確認彈出窗口仍然會提交鏈接。我的代碼方法:=>:刪除不工作,並且:忽略確認選項
例子是:
<%= link_to 'Delete', admin_user_path(@user), :confirm => 'Are you sure?', :method => :delete %>
這個問題,如果沒有,然後尋找類似的東西:
在我的情況,我用的是:
javascript_include_tag:所有%>
而且它不工作,但是當我把它想:
javascript_include_tag:默認%>
它的工作!
jquery,對...忘了那個。 – 2011-01-28 22:31:11
克里斯,你好。我有同樣的問題。我刪除了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發生
在我的情況下,它似乎是一個原型和rails.js舊組合的問題。這個問題的答案讓我想到::confirm option in Rails being ignored while using Rails 3 and jQuery UJS
所以我從https://github.com/rails/prototype-ujs/raw/master/src/rails.js和最新的原型https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js下載了最新的rails.js。
現在一切似乎按預期工作。
下面是使用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?"
大多數情況下,這是因爲您在加載之前或在頁面中的元素存在之前調用jQuery代碼。
爲了解決這個問題類似:
$(document).ready(function() {
$('*[data-confirm]').click(function(){
return confirm($(this).attr('data-confirm'));
});
});
這裏是快速的解決方案 - 只需更換與數據確認符合
<%= link_to 'Delete', admin_user_path(@user), 'data-confirm' => 'Are you sure?', :method => :delete %>
嘗試
之前使用<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文件。
我在使用jQuery的Rails 3應用程序中遇到了同樣的問題。你有沒有找到解決方案? – Callmeed 2011-02-11 19:10:31