2012-02-21 8 views
1

私は1人の著者を持つブログを持っています。著者は、すべてのページに表示されるさまざまなフィールドをカプセル化します。著者モデルが必要ですか?Railsモデルのインスタンスは1つだけです

投稿者はどこに保管しますか(私はMongoDBを使用します)、どうすればいいですか?

答えて

1

本質的に、1つの行だけのモデルが必要ですか?最も簡単な方法はおそらくそれをすることでしょう。あなたのseeds.rbファイルでは、新しい著者を作成してください:Author.create :name => "Dmitry", :rails_skill => 9001そのようにすれば、いつでもAuthor.firstでアクセスでき、どこにでも新しい著者を作成するコードを書くことはできません。

それは奇妙な感じです。これを自分で作成していて、将来新しい著者を追加する気にしない場合は、どこにでも著者情報をハードコードして(総量で)作成者情報を設定するためのカスタム初期設定を作成するかセルジオの答えのようなものにアクセスしてください。

+0

はい、1行のみのモデルが必要です。私の著者をデータベースに保存し、 'Author.first'をenywhereと呼ぶのは普通ですか?私は1つのエントリだけの文書を持っています。 – Dmitry

+0

私はそれが "普通"であろうとなかろうとしているかどうかはわかりませんが、私はそうするでしょう。あなたがあなたのseeds.rbに作成した限り、Author.firstになります。 – wjl

1

あなたのブログがこのように設計されており、決して別の著者が存在しない場合は、このデータをDBに保存する必要はありません(比較的静的な場合)。

"モデル"クラスを作成し、その中にすべての値をハードコードすることができます。

class Author 

    def self.name 
    "Sergio" 
    end 

    def self.email 
    "[email protected]" 
    end 

end 

もちろん、実際のモデルを使用して実際にデータベースにデータを格納することもできます。

関連する問題