0

これはばかげた/基本的な質問かもしれませんが、私はProgram「仕事」、「学校」、「教会」などのビジネスタイプのモデルを持っています。現在、これらをchars「w」としてデータベースに保存しています。 s "、" c "など。ただし、これを行う場合は、switchcaseレール内で)を実行して本名を取得する必要があります。私は他のいくつかの属性でこれらを行います。

caseこのステートメントを実行するのではなく、データベースに正確な値を格納する方がよいでしょうか。名前の処理にかかる時間の経過とともにデータベーススペースを節約することが問題だと思います(コードの可読性の問題もあると思います)。

編集

明確にする必要があります。これらのものには4つの不変の値しかありません。後で1つか2つ追加しなければならない可能性がありますが、これらの属性に対してCRUDアクションが実際に実行されていないため、新しいリソースを作成することは意味がないようです。

編集

Program.rb

attr_accessible :org_type

validates :org_type, :presence => true.
                     :inclusion => %w[any c s c] # And have a case later
             #OR     :inclusion -> $w[Any Corporation School Church]
4

1 に答える 1

0

後でさらに追加する可能性がある場合は、それをリソースにしてください。それはあなたに不利な点より多くの利点を与えます。

パフォーマンス上の理由でこれを行った場合:まず、リソースで機能するようにします。次に、パフォーマンスを修正します。この場合、それは時期尚早の最適化のように見えます。ここでリソースを使用する必要はありません。

また、値が追加されていることをすでに期待しているので、ケースが非常に明確になります。

ただし、より多くの情報を提供すれば、さらに良い解決策があるかもしれません。タイプごとに必要なフィールドによって異なります。

于 2013-01-08T08:54:44.977 に答える