2016-04-17 64 views
1

我正在做一個CRUD應用程序,除了銷燬,一切工作。當我在編輯頁面中點擊刪除按鈕時,出現以下錯誤:TravellersController中的ActiveRecord :: RecordNotFound#show,找不到Traveler'id'= 14,提取的源文件(在#22行):當使用銷燬方法「無法找到用戶ID」錯誤

def show 
    @traveler = Traveler.find(params[:id]) 
end 

但是,如果我回到我的用戶列表,應用程序不會刪除用戶即使我得到這個錯誤。

這裏是我的控制器代碼:

def show 
    @traveler = Traveler.find(params[:id]) 
    end 

    def destroy 
    Traveler.destroy(params[:id]) 
    redirect_to traveler_path 
    end 

我的編輯頁面:

<%= form_for @traveler do |f| %> 
     <%= f.label :name %> 
     <%= f.text_field :name %> 

     <%= f.label :age %> 
     <%= f.number_field :age %></br> 

     <%= f.submit %> 
    <% end %> 
    <%= button_to "DELETE", traveler_path(@traveler), :method => :delete %> 
+0

你有/// =需要jquery_ujs在你的application.js中嗎? ---當你點擊按鈕上的刪除,在你的日誌文件中,你是否看到一個條目說「開始刪除」/ traveler/32「 – trh

回答

6

這是因爲當你摧毀的旅客,你再重定向到traveler_path,這是一個show行動您剛剛刪除的旅行者。它試圖加載該旅行者並失敗。

要解決此問題,只需將其更改爲在其他地方重定向 - 例如,旅行者索引路徑。