2

可能であれば、データベースにアクセスしないようにしたい。これはめったに変更されない都市と州のリストで、プロジェクトの開始時に入力され、アプリケーションがそれらの場所をフォーマットして確認するために使用します。

これまでの私の研究から:

  • 構成/初期化子

  • yml ファイル

  • データベースにキャッシュしますが、キャッシュします(データベースにアクセスしたくありません)

ちょっと混乱しているので、パフォーマンスと慣習に最適な方法が必要です。

4

1 に答える 1

2

次の 2 つの方法のいずれかをお勧めします。

  • データを含み、関連する質問に答えることができる ruby​​ オブジェクトを手動で作成します。

    class Cities
      def self.data
        {
          1: 'New York',
          2: 'Boston'
        }
      end
    
      def self.find_name_by_id(id)
        data[id]
      end
    end
    

    これは、ActiveRecord が通常提供するすべてを「無料」で提供するわけではなく、もう少し手動で行うことを意味します。または...

  • ActiveRecord の機能がすべて必要であると確信している場合は、gem を使用することもできます: https://github.com/zilkey/active_hash。必要なことを実行し、データをハッシュまたは yaml ファイルのオブジェクトに保存できます。関連付けを行い、ActiveRecord から慣れ親しんだオブジェクト メソッドを提供します。
于 2012-09-28T06:10:28.343 に答える