2014-02-23 65 views
0

我有一個銷燬操作的問題。 它工作在index.html.erb非常好。 但是我無法在edit.html.erb中獲得它的工作,即使沒有請求權限,它也可以路由到節目。Ruby in Rails,在編輯中不起作用。路由到顯示

這裏有很多解決方案說它與jQuery有關。就像你所看到的那樣,我嘗試了所有我能找到的東西。

<%= stylesheet_link_tag "application" %> 
    <!--Delete Problem in Edit--> 
    <%#= javascript_include_tag :all %> 
    <%#= javascript_include_tag :application %> 
    <%#= javascript_include_tag :default %> 
<%= javascript_include_tag "application" %> 
<%= csrf_meta_tags %> 

有沒有適合我的情況的解決方案?

這是我的刪除按鈕編輯:

<%= content_tag(:a, :href => contact_path(@contact), :class => "btn btn-warning pull-right", :style => "margin:0; margin-right:15px;", confirm: 'Are you sure?', method: :delete) do %> 
<%= t "list.button_delete" %> 
     <%#= link_to I18n.t(".list.delete"), contact, confirm: 'Are you sure?', method: :delete %> 
     <%#= link_to 'delete', contact_path(@contact), :method => :delete %> 
<% end %> 

我試過很多東西,也是如此。

以下爲行動:

def destroy 
    #@contact = Contact.find(params[:id]) 
    @contact = current_user.contacts.find(params[:id]) 
    @contact.destroy 
    redirect_to contacts_url, 
          alert: 'Successfully deleted the contact' 
end 
+0

請看我更新的答案。 –

回答

1

更換

<%= content_tag(:a, :href => contact_path(@contact), :class => "btn btn-warning pull-right", :style => "margin:0; margin-right:15px;", confirm: 'Are you sure?', method: :delete) do %> 

<%= content_tag(:a, :href => contact_path(@contact), :class => "btn btn-warning pull-right", :style => "margin:0; margin-right:15px;", data: {confirm: 'Are you sure?'}, data: {method: :delete}) do %> 

應該data: {confirm: 'Are you sure?'}而不是confirm: 'Are you sure?'data: {method: :delete},而不是method: :delete

其中,link_to方法內插confirm: 'Are you sure?'data-confirm="Are you sure?"作爲和method: :deletedata-method="delete"作爲。

content_tag方法內插confirm: 'Are you sure?'confirm="Are you sure?"method: :deletemethod="delete"所以你的JavaScript調用不獲取調用。

+0

我不明白HTML中即將推出的數據方法,但它可行。謝謝。 :) – LSR

+0

@林圖我值得我的答案投票。 :) –

+1

@Lintu檢查'data- *'如何在這裏工作[鏈接](http://www.w3schools.com/tags/att_global_data.asp)。嘗試在該頁面上給出的例子。 –

1

在你destroy動作替換:

@contact = current_user.contacts.find(params[:id]) 

有:

@contact = @current_user.contacts.find(params[:id]) 
+0

不幸的是它不起作用。 它仍然路線顯示,不問 而從指數,具有相同的作用有一個錯誤信息刪除: 未定義的方法'接觸的零:NilClass – LSR

+0

發佈你的路由文件。顯然'current_user'變量是'nil'。你在哪裏指定它? – Agis

+0

根:至>「接觸#索引」 devise_for:用戶 資源:觸點 – LSR