1

ruby on rails の学習を始めたばかりで、データベースにファイルを追加できるアプリケーションを作成したいと考えています。現在、Eclipse 用の Aptana プラグインを使用して Rails アプリケーションを開発しており、アプリケーションはデフォルトの sqllite db を使用しています。

次のパラメーターを使用して足場を生成しようとしました: documents title:string file:varbinary. 次に、「rake」->「db」->「migrate」を実行します。localhost/documents に移行して [新しいドキュメント] をクリックすると、アプリケーションが失敗し、エラーが表示されます。

私がしたいのは、[新しいドキュメント] をクリックして、ローカル コンピューター上のドキュメントを参照できるフィールドを用意し、ドキュメントを選択して Rails アプリケーションのデータベースに追加することです。

4

4 に答える 4

4

最近は attachment_fu よりもPaperclipの方がおすすめです。アクティブなレコード モデルで使用するのは非常にシンプルで簡単です。

于 2009-12-31T00:48:09.113 に答える
1

追加したい特定の種類のファイルですか?

データベースにあることでメリットが得られる種類のデータではない場合(テキストデータは検索可能で、バイナリデータは検索できない場合があります)、ファイルシステムに保存して直接提供する方がはるかに優れているためです-特に次のようなもの画像やビデオ - データベースに挿入して、ユーザーが要求するたびにアプリケーションを通過する必要はありません。

データベースにファイルが必要な理由がないと言っているわけではありませんが、私はそれを最後の手段として扱い、10 年間の Web プログラミングの中で必要なケースに遭遇したことはありません。 .

于 2009-12-31T00:40:19.723 に答える
1

attachment_fu プラグインを強くお勧めします。これにより、アタッチメント付きのモデルを非常にうまく作成できます。Paperclip プラグインも別の優れたプラグインです。

どちらを使用するかを決めるのが難しい場合は、私が覚えている限り、Paperclip を使用すると、Album に多くの写真が含まれるなど、複数の添付ファイルを簡単に作成できます。

于 2009-12-31T00:45:39.117 に答える
1

私が管理しているサイトでは、このようなことをしています。これらのファイルをデータベースに保存する代わりに、ここにある他のポスターに同意し、Paperclip のようなものを試すことをお勧めします。

1 つの注意点: アクセス制御が必要な場合は、paperclip がファイルを /public の下のどこかに保存しないようにしてください。URL を知っていれば誰でもアクセスできる場所です。コントローラーの send_file を介してユーザーにファイルを配信します。

于 2009-12-31T01:05:15.413 に答える