2015-07-12 40 views
0

因此,我有一個Web應用程序,用戶可以在其中創建和刪除自己的事件。我試圖鏈接到一個刪除操作,當用戶按下'垃圾桶'圖標(字體真棒圖標),但有點卡住了。我需要在link_to「do」塊中包含圖標,因爲我希望用戶按下它來刪除他自己的事件。Ruby on Rails:關於如何使用'do'塊刪除操作的link_to參數感到困惑

這很容易讓一個GET路線做的,因爲我可以鏈接到該視圖,例如,代碼編輯用戶的事件看起來像(我使用用於身份驗證的康康舞寶石):

<% if can? :update, @event %> 
    <%= link_to edit_event_path(@event), class: 'user' do %> 
    <i data-toggle="tooltip" data-placement="left" 
     title="Edit your event" class="custom-a2"> 
     <i class="fa fa-pencil-square-o fa-2x">&nbsp;</i> 
    </i> 
    <% end %> 

上述作品。和以往工作的link_to代碼來刪除一個事件是:

<%= link_to 'Destroy', @event, method: :delete, data: { confirm: 'Are you sure?' } %> 
<% end %> 

所以上面的也可以,但是我希望它這樣,當一個垃圾桶圖標,用戶按下,它會鏈接到事件的刪除操作控制器。這是令人困惑的,因爲這不是GET請求,所以我需要將特定用戶和事件傳遞給link_to動作,而無需實際將用戶重定向到視圖。我可以請幫忙嗎?我的嘗試如下:

<%= link_to(@event), controller: :events, action: :delete, data: { confirm: 'Are you sure?' }, class: 'user' do %> 
    <i data-toggle="tooltip" data-placement="left" 
     title="Delete your event" class="custom-a2"> 
    <i class="fa fa-trash fa-2x">&nbsp;</i> 
    </i> 
<% end %> 

回答

1

您只需將事件發送到刪除操作以刪除目的。這應該工作:

<%= link_to @event, method: :delete, data: { confirm: 'Are you sure?' }, class: 'user' do %> 
     <i class="fa fa-trash fa-2x"></i> 
    <% end %> 
+0

給我一個語法錯誤,關於期待輸入結束的事情,我認爲你的解決方案中有太多的昏迷,但我也嘗試過這樣的事情。 – ifma

+0

等等,從來不知道它的工作原理,非常感謝您的幫助:) – ifma

+0

對不起。讓我知道我也會更新我的答案。 :) – Athar