Rails Web アプリケーションを開発していますが、モデルでルックアップ テーブルの値を使用する方法について混乱しています。これが私のアプリのモデルの例です:
table name: donations
id
amount
note
user_id
appeal_id
donation_status_id
donation_type_id
is_anonymous
created_at
updated_at
フィールド *donation_status_id* および *donation_type_id* はルックアップ テーブルを参照します。したがって、私のコードには、次のような呼び出しを行うランダムな場所がいくつかあります。
my_donation = Donation.find(params[:id])
if my_donation.donation_status_id == DonationStatus.find_by_name("completed").id
#do something
end
経験の浅い私の目には、DonationStatus テーブルへの 1 回限りのクエリは、ここでは信じられないほど無駄に思えますが、それを行うための他の良い方法は見当たりません。私が最初に思いついたアイデアは、アプリケーションの起動時にすべてのルックアップ テーブルをハッシュに読み込み、必要なときにそれに対してクエリを実行するというものでした。しかし、私がやろうとしていることを行うためのより良い方法はありますか? このようなクエリについて心配する必要はありませんか? ありがとう!