1

タスク管理アプリのユーザーとして、タスクの「完了」リンクをクリックして、タスクの解決を完了として記録したいと考えています。

これを 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"
4

2 に答える 2

0

更新方法の応答を処理する必要がありますupdate.js.erb

そのファイルを に配置しますapp/views/tasks/update.js.erb

于 2013-05-18T19:40:17.910 に答える