6

Rails 3マルチページフォームをファイルアップロードで実装する方法を理解しようとして問題が発生しました。各ステップは、コントローラーの更新/編集アクションによって処理されます。

Ryan Batesは、セッションを使用してマルチステップフォームを実行する方法についてのすばらしいスクリーンキャストと、最初のステップでデータベースに保存し、後続の各ステップで更新を実行することによって同様のことを実行する方法について簡単に説明しました。また、マルチステップフォームを作成する方法に関するいくつかの異なるオプションの詳細な説明を提供する彼の要点を読みました(私はオプション1に傾いています)。

しかし、マルチステップフォームの実際の実装に関しては、まだかなり迷っています。私の目標は、ファイルのアップロード(画像)にcarrierwaveを使用し、ステートマシンのgeekqによるワークフローを使用して、各ステップでの検証を支援することです。

明確にするために、私は現在、ウィザードの最初のステップでデータベースにエントリを作成し、連続する各ページでモデルを更新しようとしています。

何か案は?

例または正しい方向のポイントをいただければ幸いです。

ありがとう!

注:キー/値データストアについて何か言及している別の投稿を読んだことがありますが、残念ながらそれは少し頭がおかしいです...

4

1 に答える 1

0

キーバリューストアまたはSQLは、実際の問題と非常に緩く結びついています。これらは、データが実際にバックエンドに保存される方法に関する単なる異なるアプローチです。いずれかの方法を使用しても、実際には違いはありません。

実際の質問については、SOには一般的すぎると思います。マルチステップフォームは、互いに非常に異なる傾向があります。それらを行うための「1つの良い方法」はありません。

これについて何の回答も得られない理由は、おそらく実際の質問がないためです。あなたがすべきことは、実際の実装を試み、どこかで壁にぶつかったときに、より具体的な質問を投稿することです。

結局のところ、ユーザビリティに関しては、マルチステップフォームは実際には最良のアイデアではないと思います。もちろん、場合によってはそれらを使用する正当な理由がありますが、あなたの場合にそれらを回避する方法があるかどうかを本当によく考えるべきです。

以前にフォームとアップロードで発生した問題の1つは、検証でした(特にマルチ/シングルステップとは関係ありません)。通常、検証が失敗した場合、ユーザーはファイルを再アップロードする必要があります。幸い、Carrierwaveが自動的に処理するため、これはそれほど問題にはなりません。

于 2011-07-12T03:58:54.073 に答える