簡體   English   中英

使用 ruby​​ on rails 在單擊按鈕時從數據庫中刪除記錄

[英]Delete record from database on clicking button using ruby on rails

我正在研究一種在用戶按下“刪除按鈕”時從數據庫中刪除記錄的方法問題是當我單擊該按鈕時,我想刪除的包會從網站中刪除,但是當我檢查數據庫時,我找到了記錄是。

控制器:

def deletepackage(user_id,package_id)
  @package=Packages.find(:all, :condition=>{:id => package_id}, 
                                           :condition => {:sender_Id => user_id})
    if (@package!=nil && req.receivedByCarrier==false)
        @package.destroy
    elsif (@package!=nil && req.receivedByCarrier==true)
        @package.destroy
    end
    return;
  end

  def delete
    deletepackage(1,1)
    package.destroy
    redirect_to(:action => 'show') 
  end

  def show
    @create_package=Packages.find(params[:id ])
  end

Show.html.erb :

 <%=form_for(:package,:url{:action=>'create_packages/delete',
                             :id=>@create_package.id})do |f| %>
   <p>Are you sure you want to delete this package?</p>
   <%= f.submit "Delete" %>

顯示.html.erb:

<%= link_to 'Delete', controller: 'your_controller_name', action: 'destroy', id: @package.id, method: :delete %>

控制器:

def show
  @package = Packages.find(params[:id])
end

def destroy
  Packages.find_by(id: params[:id], sender_Id: 1).destroy
  redirect_to :index
end

您無法從 destroy 重定向到“顯示”操作,因為沒有要顯示的包(包已銷毀)。

PS:

我認為,您需要學習一些 rails-tutorials,例如Michael Hartl's Tutorial

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM