2

私は Rails に比較的慣れていませんが、最近、authlogicのような、プロジェクトを非常に迅速に立ち上げるのに役立ついくつかの便利な gem を見つけました。ただし、プラグインに依存するモデル、ビュー、およびコントローラー ファイルをどこに配置するかは疑問に思っていましたが、私のプロジェクトのコア コンセプトです。

たとえば、User、Role、Session などのモデルとプラグインに関連するコントローラーをvendor/ディレクトリ内に配置する方が良いですか、それとも root model/view/、およびcontrollers/ディレクトリ内にそれぞれ配置する必要がありますか?

4

3 に答える 3

2

プラグインに依存するモデル/ビュー/コントローラーでさえ、他のコードと一緒に、、、およびディレクトリにapp/model保持app/viewする必要があります。app/controllers

「構造的な」理由は、これらすべてのファイルの大部分がまだアプリケーションに固有であるためです。おそらく、ユーザーにフィールドを追加has_manyしたり、モデルにステートメントを追加したりすることになるでしょうUser。そのすべてのコードと残りのコア アプリケーション コードをappディレクトリに格納する必要があります。

「機能的な」理由は、そのプラグインに特に関連するコードのみvender/pluginsであり、開発中は別の方法で処理されるためです。たとえば、新しいプラグインを追加すると、開発モードでは自動ロードされません。そのため、コア ファイルが存在する場合、開発モードでも自動再読み込みされません。

于 2010-01-24T06:33:03.073 に答える
1

あなたが書くものはすべて、標準のディレクトリにあるはずです。ベンダー提供のコードには vendor を使用します。

于 2010-01-24T06:33:48.453 に答える
1

注意点と同じように、新しいトピックに関する Railscast を見て失敗することは非常に困難です。

Ryan Bates は、OpenIDを使用してauthlogicとauthlogic をカバーする 2 つを持っており、認証と承認の後の次のステップを見越して: 彼はアクセス制御もカバーしています: Declarative AuthorizationCanCanです。

于 2010-01-24T11:21:11.890 に答える