0

多くの回答がある投票オブジェクトを作成しようとしています。各回答には画像を添付できます。質問を入力し、可変数の回答を追加できるフォームを作成するにはどうすればよいですか(それぞれに画像が添付されています)。また、アップロードされた画像のプレビューを許可したい場合もあります。

これまでの私の考えは、追加された質問ごとにプレビューハンドラーに自動アップロードされる各画像のサブフォームを用意することです。

私の他のアプローチは、セッションで質問オブジェクトを作成し、それに回答オブジェクトを追加して、それらをすべて同時に保存することでした。しかし、Railsでそれを実現する方法はよくわかりません。画像のアップロードにペーパークリップを使用しています。

私は少しレール初心者なので、アドバイスをいただければ幸いです。

4

2 に答える 2

1

ネストされた属性とネストされたモデルに関する次の2つの記事を読むことを強くお勧めします。

1つのフォームを使用して多数の回答を含む投票を作成する場合は、これが最適な方法です。

最初に投票の回答数を尋ねてから、それを何度も繰り返しますfields_for

ただし、より良いアプローチは、「追加」リンクと「削除」リンクを設定して、回答の数をインラインで変更できるようにすることです。私はAJAXを使用してこれを行います-したがって、次link_to_remoteのようなことを行うコントローラーメソッドを呼び出す「追加」リンクがあるかもしれません:

render :update do |page|
  page.insert_html :bottom, 'answers-list', :partial => 'answer'
end

そしてもちろんpage.remove、フォームの関連部分を削除するために使用する「削除」リンクの場合。

とにかくそれで始められるはずです。

于 2009-12-30T11:40:32.837 に答える
1

投票の回答を画像のアップロード部分から分離するのはどうですか?

このようにして、複数の回答を保持するメインフォームを作成できます。作成された回答ごとに、アップロードフィールドを含むフォームが作成されるため、複数のアップロードを処理する必要がなく、はるかに簡単です。

アップロードフォームを簡単に非表示(style = "display:none")にして、「画像のアップロード」(onclick = "$('#link_id')。show()")のようなリンクで表示できます。

ブラウザのprev-back(ボタン)が混乱するため、これらの情報を保存するためにセッションを使用しないことをお勧めします。

于 2009-12-30T14:33:46.450 に答える