因为,我是rails的新手,所以我想知道一个小功能。 我在rails 3应用程序中有一个报告模型(不是脚手架)。我通过ajax功能逐个显示报告。我想在每个报告中添加一个删除链接。我还在我的控制器中创建了destroy方法。现在,当我点击该特定报告的删除链接时,我不知道如何删除特定报告。 这是我的控制器代码: -
class ReportsController < ApplicationController
def index
@reports = Report.all(:order => "created_at DESC")
respond_to do |format|
format.html
end
end
def create
@report = Report.create(:description => params[:description])
respond_to do |format|
if @report.save
format.html { redirect_to reports_path }
format.js
else
flash[:notice] = "Report failed to save."
format.html { redirect_to reports_path }
end
end
end
def destroy
@report = Report.find(params[:id])
if @report.destroy
format.html { redirect_to reports_path }
format.js
end
end
end
您可以假设我的报告以twitter-timeline格式显示,并且我想将删除报告功能添加到每个报告中。请帮帮我。
答案 0 :(得分:2)
在您的视图中,您将添加一个链接,按钮等,以将删除操作发送回服务器。
使用link_to
例如:
link_to("Destroy", report_path(report), :method => :delete, :confirm => "Are you sure?")
您可以使用button_to
执行相同操作。
<强>更新强>
抱歉,我错过了AJAX的提及(感谢Jeffrey W。)。
如果您想通过AJAX发送删除,还需要添加:remote => true
。