1

これが最善のアプローチかどうかはわかりませんが、元々、多くのパーシャルをレンダリングするショーインデックスを制御することを意図したコントローラーがあります(ヘッダーパーシャル、そしてステップに基づいて異なるパーシャルをレンダリングする魔法がありますユーザーはフォームに入力しています...フォームには複数のページにまたがる多くのセクションがあります)。最終的にはajaxが進むべき道だと思いますが、私はまだその点に到達していません。これが正しい方法かどうかわからないので、それが私が求めていることだと思います... 1つのコントローラーに対する多くの異なるパーシャルがその方法ですか?または、フォームデータの各「ページ」を独自のコントローラーに分割する必要がありますか?ユーザーがフォーム(チェックボックス、コメントセクション)に入力し、[次へ]をクリックして、入力中のデータのモデルを渡し、そのモデルを次の各データに保存できるようにしますか?

4

2 に答える 2

1

Uは複数のコントローラーを必要としない場合がありますが、いくつかのアクションを備えた1つのコントローラーが良いスタートになる場合があります。=)

次に、各アクションは必要な部分のみをロードする必要があります。uのように、パーシャルにアクション名を付けることができるため、レンダリングするパーシャルを簡単に知ることができます。

または多分あなたは邪悪なを使用しようとすることができます。

そのためのレールキャストがあります。

于 2012-11-08T18:10:57.750 に答える
1

さて、あなたはどのパーシャルをレンダリングするかを決定するためにメソッドを使うことができます。この例を使用するか、メタプログラミングを行ってください。

  class YourController < ApplicationController
       def index
          render :partial => partial_selector(param)
       end

       private
       def partial_selector param
          #logic to decide what partial do render
          #returns the partial name
       end
 end
于 2012-11-08T18:22:30.657 に答える