Jquery Rails AJAX缺少模板错误,需要删除链接
我正在尝试AJAX-ify一个to-do类型的应用程序,刚刚完成了我的Jquery Rails AJAX缺少模板错误,需要删除链接,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我正在尝试AJAX-ify一个to-do类型的应用程序,刚刚完成了我的create方法的这个问题(请参见[here][1])。现在delete方法出现问题,但我无法使用以前的解决方案(将remote:true从提交到表单中的行),因为删除是通过链接到完成的 以下是我的任务#索引操作: def index @create_task = Task.new @tasks = Task.all @one_time = Task.where(frequency: "OneTim
create
方法的这个问题(请参见[here][1])。现在delete
方法出现问题,但我无法使用以前的解决方案(将remote:true
从提交到表单中的行),因为删除是通过链接到完成的
以下是我的任务#索引
操作:
def index
@create_task = Task.new
@tasks = Task.all
@one_time = Task.where(frequency: "OneTime", completed: false, user_id: current_user.id)
@one_time_done = Task.where(frequency: "OneTime", completed: true, user_id: current_user.id)
@daily = Task.where(frequency: "Daily", completed: false, user_id: current_user.id)
@daily_done = Task.where(frequency: "Daily", completed: true, user_id: current_user.id)
@weekly = Task.where(frequency: "Weekly", completed: false, user_id: current_user.id)
@weekly_done = Task.where(frequency: "Weekly", completed: true, user_id: current_user.id)
@monthly = Task.where(frequency: "Monthly", completed: false, user_id: current_user.id)
@monthly_done = Task.where(frequency: "Monthly", completed: true, user_id: current_user.id)
end
def destroy
@one_time = Task.where(frequency: "OneTime", completed: false, user_id: current_user.id)
@one_time_done = Task.where(frequency: "OneTime", completed: true, user_id: current_user.id)
@daily = Task.where(frequency: "Daily", completed: false, user_id: current_user.id)
@daily_done = Task.where(frequency: "Daily", completed: true, user_id: current_user.id)
@weekly = Task.where(frequency: "Weekly", completed: false, user_id: current_user.id)
@weekly_done = Task.where(frequency: "Weekly", completed: true, user_id: current_user.id)
@monthly = Task.where(frequency: "Monthly", completed: false, user_id: current_user.id)
@monthly_done = Task.where(frequency: "Monthly", completed: true, user_id: current_user.id)
if @task.destroy
respond_to do |format|
format.js
format.html
end
else
flash[:warning] = "Oops! Something went wrong!"
end
end
[1]: https://stackoverflow.com/questions/45667684/ajax-with-rails-missing-template
以及我的任务#销毁操作:
def index
@create_task = Task.new
@tasks = Task.all
@one_time = Task.where(frequency: "OneTime", completed: false, user_id: current_user.id)
@one_time_done = Task.where(frequency: "OneTime", completed: true, user_id: current_user.id)
@daily = Task.where(frequency: "Daily", completed: false, user_id: current_user.id)
@daily_done = Task.where(frequency: "Daily", completed: true, user_id: current_user.id)
@weekly = Task.where(frequency: "Weekly", completed: false, user_id: current_user.id)
@weekly_done = Task.where(frequency: "Weekly", completed: true, user_id: current_user.id)
@monthly = Task.where(frequency: "Monthly", completed: false, user_id: current_user.id)
@monthly_done = Task.where(frequency: "Monthly", completed: true, user_id: current_user.id)
end
def destroy
@one_time = Task.where(frequency: "OneTime", completed: false, user_id: current_user.id)
@one_time_done = Task.where(frequency: "OneTime", completed: true, user_id: current_user.id)
@daily = Task.where(frequency: "Daily", completed: false, user_id: current_user.id)
@daily_done = Task.where(frequency: "Daily", completed: true, user_id: current_user.id)
@weekly = Task.where(frequency: "Weekly", completed: false, user_id: current_user.id)
@weekly_done = Task.where(frequency: "Weekly", completed: true, user_id: current_user.id)
@monthly = Task.where(frequency: "Monthly", completed: false, user_id: current_user.id)
@monthly_done = Task.where(frequency: "Monthly", completed: true, user_id: current_user.id)
if @task.destroy
respond_to do |format|
format.js
format.html
end
else
flash[:warning] = "Oops! Something went wrong!"
end
end
[1]: https://stackoverflow.com/questions/45667684/ajax-with-rails-missing-template
这是我的删除链接到(来自部分):
这是我的delete.js.erb
:
$("#onetime-todo").html("<%= escape_javascript(render partial: 'items', locals: { task: @one_time }) %>")
$("#onetime-done").html("<%= escape_javascript(render partial: 'done', locals: { task: @one_time_done }) %>")
$("#daily-todo").html("<%= escape_javascript(render partial: 'items', locals: { task: @daily }) %>")
$("#daily-done").html("<%= escape_javascript(render partial: 'done', locals: { task: @daily_done }) %>")
$("#weekly-todo").html("<%= escape_javascript(render partial: 'items', locals: { task: @weekly }) %>")
$("#weekly-done").html("<%= escape_javascript(render partial: 'done', locals: { task: @weekly_done }) %>")
$("#monthly-todo").html("<%= escape_javascript(render partial: 'items', locals: { task: @monthly }) %>")
$("#monthly-done").html("<%= escape_javascript(render partial: 'done', locals: { task: @monthly_done }) %>")
每种方法都会出现这种错误,这让我很烦恼。删除确实会发生,只需要刷新页面即可。有人看到这里发生了什么吗?您希望delete.js.erb
成为destroy.js.erb
,因为操作是destroy
,而不是delete
您希望delete.js.erb
成为destroy.js.erb
,因为操作是destroy
,而不是delete
也许您希望delete.js.erb
成为destroy.js.erb
,因为操作是destroy
,而不是delete
@jvillian,这很简单。愚蠢的时刻。想把答案写下来,这样我就可以选择了。没问题。也许你希望delete.js.erb
成为destroy.js.erb
,因为动作是destroy
,而不是delete
@jvillian,这很简单。愚蠢的时刻。想把答案写下来,这样我就可以选择了。没问题。这是最好的。
Started DELETE "/tasks/1" for ::1 at 2017-08-14 12:59:40 -0700
Processing by TasksController#destroy as JS
Parameters: {"id"=>"1"}
Task Load (0.1ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = ? LIMIT 1 [["id", 1]]
User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT 1 [["id", 1]]
(0.1ms) begin transaction
SQL (0.4ms) DELETE FROM "tasks" WHERE "tasks"."id" = ? [["id", 1]]
(0.6ms) commit transaction
Completed 500 Internal Server Error in 15ms (ActiveRecord: 1.3ms)
ActionView::MissingTemplate - Missing template tasks/destroy, application/destroy with {:locale=>[:en], :formats=>[:js, :html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee]}. Searched in:
* "/Users/lizbayardelle/Dropbox/Code/FAM/app/views"
* "/Users/lizbayardelle/.rvm/gems/ruby-2.3.3/gems/ckeditor-4.2.2/app/views"
* "/Users/lizbayardelle/.rvm/gems/ruby-2.3.3/gems/devise-4.2.0/app/views"
: