タスク管理アプリのユーザーとして、タスクの「完了」リンクをクリックして、タスクの解決を完了として記録したいと考えています。
これを Rails 3 の Unobtrusive JavaScript (UJS) を使用した AJAX リクエストにしたいと考えています。私はこれをかなり長い間デバッグしてきたので、どんな助けも大歓迎です。
ビュー内で作成しているlink_to呼び出しは次のとおりです。
<%= link_to "Completed", task_path(:id => task.id, :resolution => "completed"), :remote => true, :method => :put %>
そして、これが私のタスクコントローラーの update メソッドです:
class TasksController < ApplicationController
respond_to :js
def update
@task = Task.find(params[:id])
@task.update_attributes(params[:task])
respond_with(@task)
end
end
Chrome の Dev Tools でネットワーク トラフィックを監視すると、URL パラメーター (tasks/{:id}?resolution=completed) を含む適切な URL に対して Put リクエストが行われているように見えますが、プレビューでは次のエラー メッセージが表示されます。
Template is missing
Missing template tasks/update, application/update with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder, :coffee]}.
Searched in: * "C:/Documents and Settings/Corey Quillen/My Documents/Software Engineering/Projects/Cleaner Card/cleaner_card/app/views"