1

私のアプリケーションでは、ファイルのアップロード(実際には複数のファイルのアップロード)があり、(例:キャリアウェア)のようなgem/pluginを使用せずにそれを行うことができました。

しかし、フォームの検証が失敗すると、エラーメッセージを含むfromデータが読み込まれますが、file_fieldsの値は読み込まれません。私のクライアントは、フォームの検証が失敗したときに値をそのまま保持したいと考えています。

少し調べてみたところ、セキュリティ上の理由から、ファイルフィールドに値を設定することは許可されていません。したがって、誰かがこれに対する可能な回避策を提案できますか(フォームの検証が失敗したときに選択したファイルパスを保持するため)

ここではAjaxフォームの投稿を使用していないことに注意してください。これは単純なデフォルトのHTTP投稿です。

私はruby1.9.2とrails3.0.0で実行しています

前もって感謝します

4

1 に答える 1

1

お求めの内容には対応できかねます。セキュリティ上の理由により、アップロード フィールドの値を設定することはできず、一部のブラウザではスタイルを設定することさえできません。

最善の策:

  • 検証前にファイルをアップロードし、ユーザーがキャンセルした場合は破棄します。
  • ajax、または派手な形式のアップロードを使用します。(非表示フィールドにパスを保存し、何らかの形式の ajax/flash でアップロードします。)
于 2012-07-29T08:13:07.103 に答える