0

我正在尝试建立一个简单的库存系统。我正在通过表单从用户那里收集数据这是我的表单控制器:

class FormsController < ApplicationController
  before_action :set_form, only: [:show, :edit, :update, :destroy]
  #belongs_to :powders

  # GET /forms
  # GET /forms.json
  def index
    @forms = Form.all
  end

  # GET /forms/1
  # GET /forms/1.json
  def show
  end

  # GET /forms/new
  def new
    @form = Form.new
  end

  # GET /forms/1/edit
  def edit
  end

  # POST /forms
  # POST /forms.json
  def create
    @form = Form.new(form_params)

    respond_to do |format|
      if @form.save
        format.html { redirect_to @form, notice: 'Form was successfully created.' }
        format.json { render :show, status: :created, location: @form }
      else
        format.html { render :new }
        format.json { render json: @form.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /forms/1
  # PATCH/PUT /forms/1.json
  def update
    respond_to do |format|
      if @form.update(form_params)
        format.html { redirect_to @form, notice: 'Form was successfully updated.' }
        format.json { render :show, status: :ok, location: @form }
      else
        format.html { render :edit }
        format.json { render json: @form.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /forms/1
  # DELETE /forms/1.json
  def destroy
    @form.destroy
    respond_to do |format|
      format.html { redirect_to forms_url, notice: 'Form was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_form
       @form = Form.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def form_params
      params.require(:form).permit(:date, :shift, :batch, :silicate, :fw)
    end
end

该报告将显示通过以下表格收集的数据:

 Date   Shift   Batch   Silicate        Fw  
2015-01-19  day     1       4000        450         
2015-01-19  Night   2       7000        600 
2015-01-21  day     8       4500        340

现在我需要另一个报告说 FW 库存报告。该报告的表结构应该是:

Date, Opening Stock, Receipts, Consumptions and Closing Stock

这里是 FW 库存报告,它应该从表格报告中捕获日期和消耗详细信息。它应该捕获按日期计算的总数字,而不是按班次计算的消费数字。

现在,我创建了一个 Firewood 控制器(App/Controllers/firewoods_controller.rb),它是:

class FirewoodsController < ApplicationController
  before_action :set_firewood, only: [:show, :edit, :update, :destroy]
 # has_many :forms
 # belongs_to :forms


  # GET /firewood
  # GET /firewood.json
  def index
  #  @Firewoods = Firewood.all ( I want to show the inventory reports for Firewood  )
  end

  # GET /firewoods/1
  # GET /firewoods/1.json
  def show

  end

  # GET /firewdoods/new
  #def new
   # @firewdood = Firewdood.new
 # end

  # GET /firewdoods/1/edit
 # def edit
#  end

  # POST /firewdoods
  # POST /firewdoods.json



  # PATCH/PUT /firewdoods/1
  # PATCH/PUT /firewdoods/1.json
  def update
    respond_to do |format|
      if @firewdood.update(firewdood_params)
        format.html { redirect_to @firewdood, notice: 'Firewdood was successfully updated.' }
        format.json { render :show, status: :ok, location: @firewdood }
      else
        format.html { render :edit }
        format.json { render json: @firewdood.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /firewdoods/1
  # DELETE /firewdoods/1.json
  def destroy
    @firewdood.destroy
    respond_to do |format|
      format.html { redirect_to firewdoods_url, notice: 'Firewdood was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_firewdood
      @firewdood = Firewdood.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def firewdood_params
      params.require(:firewdood).permit(:date, :opening, :stock, :receipt, :issues, :closing, :stock)
    end
end

这是杉木索引页面(App/views/firewoods/index.html.erb,我需要库存报告:

<table>
  <thead>
    <tr>
      <th>Date</th>
      <th>Opening</th>
      <th>Stock</th>
      <th>Receipt</th>
      <th>Issues</th>
      <th>Closing</th>
      <th>Stock</th>
      <th colspan="3"></th>
    </tr>
  </thead>

  <div class ="report" </div>
      <table>


      <tr>
        <td><%= form.date %></td>
        <td><%= form.fw %></td>

        <td><%= link_to 'Show', form %></td>
        <td><%= link_to 'Edit', edit_form_path(firewdood) %></td>
        <td><%= link_to 'Destroy', form, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

和位于 (app/models/firewoods.rb) 的模型:

class Firewood < ActiveRecord::Base
end

现在我想按照下面的格式显示数据:输出应该通过 App/views/firewoods/index.html.erb (localhost:3000/firewoods/) 显示我知道路由。我将手动放置开仓股票。收据图让我们暂时忽略。我需要从 FormsController/table 中捕获消耗数据,并且期末库存方程应该是 op.stock + 收据 - 消耗。

Date, Opening Stock, Receipts, Consumptions and Closing Stock

提前致谢。

4

0 回答 0