シンプルな在庫システムを構築しようとしています。フォームを介してユーザーからデータを収集しています これが私のフォームコントローラーです:
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/テーブルから消費量の数値を取得する必要があり、最終在庫の方程式は op.stock + レシート - 消費 である必要があります。
Date, Opening Stock, Receipts, Consumptions and Closing Stock
前もって感謝します。