私は基本的に請求書発行システムであるRails Appを持っています。アプリケーション内には、misc_chargesのコードと説明を保持する2つのテーブルがあります(例:id:1、code: '01' desc: 'Apples'、id:2、code:'02 '、desc:' Bananas ' ID:1、コード: '30'、desc: 'クーポン'、id:2、コード: '31'、desc: 'AAA rebate'など)があります。これらのコードはあまり変更されることはなく、コードを変更または削除するのではなく、コードを追加する可能性があります。テーブルを配列定数に読み込む
現在、メイントランザクションテーブルに英数字コードが格納されています。例えば '01'、 '02'、 '30'、 '31'などのように。私はrails/postgresqlで生成されたidを使用することができましたが、アルファコードを使用する理由は、これらの英数字コードをその他の料金とクレジットの主な識別子として使用する別のシステムに輸出してインポートする必要があるからです。
いずれにせよ、ユーザー(または管理者)がトランザクション履歴または特定の請求書を確認すると、トランザクションテーブルを使用して、モデルメソッドを使用して英数字コードの特定の説明が取得されます。
私はこれを使用するビューで次にclass MiscCharge < ActiveRecord::Base
def self.get_desc(r_code)
result = MiscCharge.select("misc_charges_desc").where("code = ?", r_code)
return result[0].misc_charges_desc
end
end
:
<td>
<%if p.type == "R"%>
<h5 align ="left"><%=MiscCharge.get_desc(p.code)%></h5>
<% else %>
<h5 align ="left"><%=Credit.get_desc(p.code)%></h5>
<% end %>
</td>
現在、アプリケーションが開発モードであり、我々は、ステージング環境でいくつかのテストをやっています。私たちはたくさんのトランザクションを持っているわけではありませんが、すべてのコードの説明を表示するようにモデルを呼び出すと、トランザクションカウントが急上昇するときや、複数のユーザーがアプリケーションを使用しているときに、同時に。
これらのコードと説明を読み込む方法はありますか?本質的には静的なものがほとんどですが、定数として配列に入れますか?私はあなたがapplication.rbまたはinitializersフォルダで定義できるRuby on Rails定数についての記事を見てきましたが、私が見た例は主に静的なデータです...テーブルからロードされたものではありません...モデルが利用可能ですかapplication.rbまたはイニシャライザからデータを取得するには?
それがこの
misc_charges_array = MiscCharge.select(:id, :code, :desc).map {|e| e.attributes.values}
またはそれにもっと何かがあるをやってような単純なことはできますか?
これを配列に入れたら、ビューでモデルメソッド呼び出しを置き換えて、適切な説明を取得する方法はありますか?