2010-12-02 12 views
0

私はRailsを使い、.netのバックグラウンドから始めました。ActiveRecordを継承しているモデルはモデルの対応する属性を含んでいないため、理解しづらいです。モデルには他のモデルやビジネスロジックへの参照しか含まれていない、大規模なコードにさらされた新しい開発者を想像することはできません。レールで読み込み可能なモデルを作成する

DataMapperモデルははるかに把握が簡単ですが、ActiveRecordはデファクトスタンダードなので、この小さな問題だけでORMを変更するのは変です。

DataMapperの

class Post 
    include DataMapper::Resource 

    property :id,   Serial # An auto-increment integer key 
    property :title,  String # A varchar type string, for short strings 
    property :body,  Text  # A text block, for longer string data. 
    property :created_at, DateTime # A DateTime, for any date you might like. 
end 

ActiveRecordの

class Post < ActiveRecord::Base 
end 

私は、これは問題があるのか​​はわからないと人々は属性なしのモデルに慣れていること、またはどのように経験しないレールユーザーがこれを処理する?

私は、データベースマネージャを使用したり、属性を見つけるスクリプトの読み込みを見ていないと思いますか?

attr_accessibleを指定すると、モデルが読みやすくなりますが、問題が適切な解決策であるかどうかわかりません。

答えて

4

githubのannotate_modelsプラグインを確認してください。コメントブロックに各モデルのコメント付きスキーマが挿入されます。移行時に実行するようにインストールできます。

+0

annotate_modelsはいいですし、私のモデルにも使用します。私がDataMapperを気に入っていても、ActiveRecordをデフォルトにしているので、私はActiveRecordに固執します。 – orjan

+0

私は以下の答えのgrifatonに同意します。 db/schema.rbファイルは、この情報を探すための事実上の場所です。 annotate_modelsを使って見たすべてのプロジェクトは、古いコメントを持っています。人々はタスクを実行したり、モデルファイルの上部にあるノイズに気をつけたりしません。 –

2

「属性を見つけるための読み込みスクリプトを見る」必要はありません。これらはすべてdb/schema.rbの1か所に定義されています。

2

いくつかのヒント:

  • は、Railsのコンソールをロードし、属性名の迅速な リマインダーのため Post.column_namesを入力してください。 Post.columnsは、データ型

  • デシベル/ schema.rbを示しており、あなたのコラム オブジェクトを与える一つの場所ですべての 移行コードが含まれているので、あなたは は簡単にすべての列 の定義を見ることができます。あなたは まともなエディタ/ IDEを使用している場合

  • あなたが移行ファイルにモデルファイル からジャンプすることができ への道があるはずです。 (例:RORまたはRinariのEmacs )

関連する問題