0

かなり新しいRails。2 つのモデルを更新し、2 つの別々のショー ページに出力するフォームを作成しようとしています。1つ、これは可能ですか、2つ、どのように?1 つのフォームで複数のモデルを更新できるという投稿をたくさん見ましたが、1 つのフォームで 2 つの別々のページを作成できるかどうかはわかりません。

編集:

これまでのコメントをありがとう。そして、わかりにくくてすみません。基本的に私は2つのモデルを持っています。1 つは「コースのプレビュー」ページ用です。そして2つ目は「実際のコース」です。すべてのユーザーがプレビュー ページを表示できますが、コース ページを表示できるようにするには、コースを購入する必要があります。

私がやろうとしているのは、1つのフォームを使用して「コースプレビュー」と「コース」を同時に作成することです。

前もって感謝します!

4

1 に答える 1

0

一度に 2 ページをレンダリングすることはできません。ユーザーは一度に 1 ページしか見ることができません。

ただし、巧妙なコーディングを使用して、結果を表示する 1 つのページを作成できます。Model1 と Model2 などの 2 つのモデルと、それぞれのビュー (model1/show.html.erb など) がある場合、show.html.erb コードを次のように変更できます。

<%= @model.name %>
etc...

<%= render 'display' %>

_display.html.erb という名前のファイルを作成し、そこに show.html.erb の内容を入れます。ここで、Model1 の表示ページにアクセスすると、部分表示が呼び出され、それに応じてすべての情報がレンダリングされます。泡立て、すすぎ、モデル 2 について繰り返します。

したがって、デュアル フォームのリターン ページでも、このまったく同じパーシャルが使用されます。フォームの結果ページは次のようになります。

<%= render 'model1/display' %>

<%= render 'model2/display' %>

これにより、各モデル タイプのパーシャルが取得され、結果ページに表示されます。

パーシャルの使用の詳細については、http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials を参照して ください。

于 2013-07-11T06:06:57.597 に答える