如何从rails中的模型中删除特定帖子?

时间:2011-03-29 12:48:28

标签: ruby-on-rails methods

因为,我是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格式显示,并且我想将删除报告功能添加到每个报告中。请帮帮我。

1 个答案:

答案 0 :(得分:2)

在您的视图中,您将添加一个链接,按钮等,以将删除操作发送回服务器。

使用link_to例如:

link_to("Destroy", report_path(report), :method => :delete, :confirm => "Are you sure?")

您可以使用button_to执行相同操作。

<强>更新

抱歉,我错过了AJAX的提及(感谢Jeffrey W。)。

如果您想通过AJAX发送删除,还需要添加:remote => true