Я хочу удалить соответствующую строку полностью, если tquantity = 0
.Удалите соответствующую строку полностью, если acutal количество идет к нулю
Найдите скриншот для лучшего понимания, как показано ниже;
index.html.erb
<div class="col-md-10 col-md-offset-1">
<div class="table-responsive myTable">
<table class="table listing text-center">
<tr class="tr-head">
<td>DESCRIPTION</td>
<td>COLOR</td>
<td>QUANTITY</td>
<td>RETAIL PRICE</td>
<td>TOTAL AMOUNT</td>
<td>CARTON NO</td>
<td>CUSTOMER 1</td>
<td>CUSTOMER 2</td>
<td>ACTUAL QUANTITY</td>
</tr>
<% @purchases.each do |purchase| %>
<tr class="tr-<%= cycle('odd', 'even') %>">
<td class="col-2"><%= purchase.description %></td>
<td class="col-1"><%= purchase.color %></td>
<td class="col-2"><%= purchase.quantity %></td>
<td class="col-2"><%= number_with_precision(purchase.rprice, :delimiter => ",", :precision => 2) %></td>
<td class="col-2"><%= number_with_precision(purchase.tamount, :delimiter => ",", :precision => 2) %></td>
<td class="col-2"><%= purchase.cartonno %></td>
<td class="col-2"><%= purchase.cus1 %></td>
<td class="col-2"><%= purchase.cus2 %></td>
<td class="col-2"><%= tquantity = purchase.quantity - purchase.cus1 - purchase.cus2 %></td>
</tr>
<% end %>
</table>
</div>
</div>
</div>
purchases_controller.rb
class PurchasesController < ApplicationController
before_action :set_purchase, only: [:show, :edit, :update, :destroy]
# GET /Stockings
# GET /deldetails.json
def index
#@purchases = Purchase.all
@purchases = Purchase.where("tquantity !=?", 0)
end
def import
Purchase.import(params[:file])
redirect_to purchases_url, notice: "Purchases imported."
end
# GET /purchases/1
# GET /purchases/1.json
def show
end
# GET /purchases/new
def new
@purchase = Purchase.new
end
# GET /purchases/1/edit
def edit
end
# POST /purchases
# POST /purchases.json
def create
@purchase = Purchase.new(purchase_params)
respond_to do |format|
if @purchase.save
format.html { redirect_to @purchase, notice: 'Purchase was successfully created.' }
format.json { render :show, status: :created, location: @purchase }
else
format.html { render :new }
format.json { render json: @purchase.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /purchases/1
# PATCH/PUT /purchases/1.json
def update
respond_to do |format|
if @purchase.update(purchase_params)
format.html { redirect_to @purchase, notice: 'Purchase was successfully updated.' }
format.json { render :show, status: :ok, location: @purchase }
else
format.html { render :edit }
format.json { render json: @purchase.errors, status: :unprocessable_entity }
end
end
end
# DELETE /purchases/1
# DELETE /purchases/1.json
def destroy
@purchase.destroy
respond_to do |format|
format.html { redirect_to purchases_url, notice: 'Purchase was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_purchase
@purchase = Purchase.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def purchase_params
params.require(:purchase).permit(:season, :category, :articleno, :description, :color, :quantity, :rprice, :tamount, :cartonno, :cus1, :cus2, :tquantity)
end
end
purchase.rb
class Purchase < ActiveRecord::Base
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Purchase.create! row.to_hash
end
end
end
мне нужно использовать SQL ИНЕКЕ ли,Если да, то как бы получить желаемый результат?
Когда вы говорите, что хотите «удалить соответствующую строку полностью, если tquantity = 0», означает ли это удаление строки из базы данных или только из представления, которое вы показали на скриншоте? –
Спасибо за ответ. Я хочу знать оба аспекта. –
Любое неправильное использование этой конкретной кодировки, которая является