2011-07-20 65 views
1

我一直在尋找一個解決方案,但一直沒能找出我的代碼有什麼問題。Rails 3 data error with link_to

我想在事件頁面上使用ajax調用來刪除一個項目,但它似乎不工作。

<%= link_to 'X', { :controller => 'items', :action => 'destroy', :id => item.id }, :method => :delete, :confirm => 'Are you sure you want to delete this item?', :remote => true %> 

<a rel="nofollow" data-method="delete" data-confirm="Are you sure you want to delete this item?" href="/items/83">X</a> 

我相信一切都看起來不錯,但是,數據屬性似乎不起作用。當我單擊它時沒有確認,而是調用控制器的'show'動作,所以數據方法也不起作用。

最奇怪的部分是我在頁面上生成確認消息的其他東西。

<%= link_to image_tag("trashcan.png"), @event, :confirm => 'Are you sure you want to delete this event?', :method => :delete %> 

<a rel="nofollow" data-method="delete" data-confirm="Are you sure you want to delete this event?" href="/events/3"> 

我試圖改變第一個「X」到圖像(如果一個IMAGE_TAG的伎倆) - 沒有運氣。但是,當我將link_to改爲button_to時,它確實刪除了,但並不是我認爲按鈕不支持的確認。所以我不確定我是否可能在其他地方出現了一些JavaScript錯誤,我認爲這不是這種情況,因爲它在另一種情況下起作用,或者我可能在某處丟失了某些東西。

編輯: 我忘了說我也有每個項目的評論和作品,以及...

<%= link_to 'X', [comment.item, comment], :confirm => 'Are you sure?', :method => :delete, :remote => true %> 
<a rel="nofollow" data-remote="true" data-method="delete" data-confirm="Are you sure?" href="/items/83/comments/32">X</a> 
+0

奇怪。在你的端輸出的代碼看起來不正確,因爲如果它是':remote => true',那麼它應該在HTML中生成'data-remote ='true''。您是否嘗試用'{}'包裝最後三個參數來明確地告訴方法您的HTML選項? – vinceh

+0

對不起,代碼實際上是:X當我搞亂了不同的設置時,它肯定錯了。 –

回答

1

固定它,這個問題是我有這些鏈接,我必然落後一個div一個點擊事件,並在其中我也稱爲event.stopPropagation()從而阻止了數據調用。