在Rails应用程序中使用jQuery/AJAX创建新记录时出现删除链接的问题
我正在创建待办事项列表应用程序。用户通过类别拥有多个任务。我正在通过jQuery/ajax为每个类别创建新的任务记录,以改善用户体验。我在每个任务后都有一个delete链接,但是在通过ajax创建新记录时,delete链接不会显示出来。如果我重新加载页面,它就会出现。如何使删除链接显示在新记录上?我已尝试遵循此railscast,并对其进行了大部分设置,但无法显示删除链接: 以下是我的一些代码:在Rails应用程序中使用jQuery/AJAX创建新记录时出现删除链接的问题,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我正在创建待办事项列表应用程序。用户通过类别拥有多个任务。我正在通过jQuery/ajax为每个类别创建新的任务记录,以改善用户体验。我在每个任务后都有一个delete链接,但是在通过ajax创建新记录时,delete链接不会显示出来。如果我重新加载页面,它就会出现。如何使删除链接显示在新记录上?我已尝试遵循此railscast,并对其进行了大部分设置,但无法显示删除链接: 以下是我的一些代码: class TasksController < ApplicationController
class TasksController < ApplicationController
def new
@category = Category.find(params[:category_id])
@task = @category.tasks.new
end
def create
@category = Category.find(params[:category_id])
@user = @category.user
@task = @category.tasks.create(params[:task])
respond_to do |format|
format.html {
if @task.save
redirect_to user_path(@user), notice: "Task created."
else
render 'new'
end
}
format.js
end
end
def destroy
@category = Category.find(params[:category_id])
@task = @category.tasks.find(params[:id])
@user = @category.user
@task.destroy
redirect_to user_path(@user)
end
end
谢谢
编辑
这是我的Rails链接代码:
<div class="category-<%= category.id %>-tasks">
<% category.tasks.each do |task| %>
<li class="task">
<%= task.name if task %>
<%= link_to "x", category_task_path(category, task), class: "delete-task pull-right", :method => :delete, :confirm => "Are you sure?" %>
</li>
<% end %>
</div>
:删除,:确认=>“确定吗?”%>
对于每个任务,HTML应如下所示:
<li class="task">Task<a href="/categories/1/tasks/27" class="delete-task pull-right" data-confirm="Are you sure?" data-method="delete" rel="nofollow">x</a>
</li>
任务
从您的
创建.js.erb
文件:
$('div.category-<%= @category.id if @category %>-tasks').append('<li class="<%= @task.id if @task %>"><%= j @task.name if @task %></li>');
你能添加html应该是什么样子吗(一旦你刷新了页面)?在运行
show()
之前插入a.delete-task
的位置和时间?我用HTML代码的样子编辑了这篇文章
<div class="category-<%= category.id %>-tasks">
<% category.tasks.each do |task| %>
<li class="task">
<%= task.name if task %>
<%= link_to "x", category_task_path(category, task), class: "delete-task pull-right", :method => :delete, :confirm => "Are you sure?" %>
</li>
<% end %>
</div>
<li class="task">Task<a href="/categories/1/tasks/27" class="delete-task pull-right" data-confirm="Are you sure?" data-method="delete" rel="nofollow">x</a>
</li>
$('div.category-<%= @category.id if @category %>-tasks').append('<li class="<%= @task.id if @task %>"><%= j @task.name if @task %></li>');
$('div.category-<%= @category.id if @category %>-tasks').append('<li class="<%= @task.id if @task %>"><%= j @task.name if @task %><%= link_to "x", category_task_path(category, task), class: "delete-task pull-right", :method => :delete, :confirm => "Are you sure?" %></li>');