1

ですから、性感染症がこれまでで最も非難されていることは知っていますが、実際には理にかなっているかもしれないと思う例があります. 私のアプリは、さまざまな種類の xml ファイルを解析しています。すべてのファイル モデルは、まったく同じ情報を格納します。どのユーザーに関連付けられているか、いつアップロードされたか、S3 のどこに保存されているかについての情報です。

xml ファイルが保存されたら、それを解析して情報を取得し、それを使用して他のさまざまなモデルを作成します。ファイルの種類ごとに、さまざまなものが作成されます。100 以上の異なる種類の xml ファイルが存在する可能性がありますが、それほど多くのパーサーを作成するつもりはないと思います。この場合、STIは意味がありますか?

私が推測する欠点は、モデルがすべて1つのディレクトリにあるため、Railsをハックしてモデルディレクトリのサブディレクトリに貼り付けない限り、そのディレクトリがあふれてしまうことです。

もう 1 つのオプションは、kind フィールドがあり、これらすべてを処理する lib ディレクトリに何かを配置することです。または、resque を使用しています。おそらく、すべての xml ファイル パーサーが独自のジョブである必要があります。Railsコンソールでジョブを強制するのはちょっと面倒ですが、これには欠点があります。

4

1 に答える 1

0

あなたの説明から、「ファイル」モデルはファイルアップロードプロセスの結果と関連するメタデータのみを保存しています。解析された XML データから生成される他の種類のモデルに関する詳細情報がなければ、単一テーブルの継承がこのユース ケースに適用される理由がわかりません。

于 2011-07-25T23:08:26.323 に答える