我遇到了一個問題,我不確定如何解決。設計註銷後刪除方法返回錯誤
我有一個簡單的列表應用程序,包括「新建」,「創建」,「完成」,「刪除」以及設計認證等方法上的AJAX功能。
當我第一次與用戶進入一個新的會話時,所有這些方法都可以毫無問題地工作。此外,這些任務僅保存到用戶帳戶,這是完美的。
但是,當我退出帳戶並重新登錄時,刪除方法不再有效。我收到以下錯誤:
ActiveRecord::RecordNotFound (Couldn't find Task with 'id'=)
我tasks_controller.rb低於:
class TasksController < ApplicationController
def index
@task = current_user.tasks.all
end
def new
@task = Task.new
respond_to do |format|
format.js
format.html
end
end
def create
@task = current_user.tasks.new(task_params)
@task.save
respond_to do |format|
format.html
format.js
end
end
def update
@task = current_user.tasks.find(params[:id])
@task.toggle :complete
@task.save
respond_to do |format|
format.html
format.js
end
end
def destroy
@task = Task.find(params[:id])
@task.destroy
respond_to do |format|
format.js
format.html
end
end
private
def task_params
params.require(:task).permit(:id, :title, :complete)
end
end
我不完全知道如何解決這個問題。有人會對這裏出了什麼問題有個想法嗎?
編輯:
我發現我的索引頁,我有一個鏈接在頂部破壞用戶的會話:
<%= link_to "Log Out", destroy_user_session_path, :method => :delete %>
我想知道,如果鐵軌是有一些麻煩與此因爲註銷鏈接和刪除鏈接都引用相同的方法。如果是這樣,我如何更改任務的刪除方法的名稱?
<div class="delete"><%= link_to "X", task_path(@task), method: :delete, remote: true %></div>
將byebug放在視圖中,並檢查@task的值。我認爲這不是整數類型。 –
你在哪裏定義'@ task'? –
@JagdeepSingh你是什麼意思?我不確定我明白。 – snovosel