0

previewとアクションの間newにアクションを含めるための正しいアプローチを探していcreateます。私が次のものを持っているとしましょう:

resources :users

デフォルトでは、フォームが送信されると:

  • の場合、アクションnewを呼び出します。create
  • の場合edit、アクションを呼び出しupdateます。

このように、 と に同じフォーム (部分) を使用できますnewcreateこれは素晴らしいことです。

previewアクション間を含めるようにリソースを構成するにはどうすればよいですか。つまり、強制的newに呼び出しpreviewpreviewから呼び出しますcreate

新しいルート/アクションを追加して、そのアクションのフォームを指すことはできますが、同じフォームを と に使用することはできませnewedit

それを行うためにリソースを構成する方法はありますか?

4

3 に答える 3

1

このrailscastを見てください:マルチボタンフォーム、「プレビュー」ボタンと「送信」ボタンの両方を備えたフォームが表示されます。おそらくそれはあなたがやりたいことかもしれません。

ちなみに、地元の人をパーシャルに渡して同じ形を使ってみませんか?例えば:

<%= form_for @profile, url: dynamic_path do |f| %>
  ...
<% end %>

<%= render 'form', dynamic_path: profile_preview_path %>
于 2013-02-13T13:04:23.660 に答える
0

これを行うにはいくつかの方法があります。

  1. フォームの URL をpreviewアクションに変更します (ルートを追加する必要があります)。
  2. プレビューと作成に作成アクションを使用します。
    つまり、フォーム送信リクエストにパラメーター (「:go_to_preview」など) を追加します。コントローラーで見つかった場合は、レンダリングしますpreview
    ユーザーがプレビューを確認したい場合は、データを (そのパラメーターなしで) 再度送信し、今度はレコードを作成します。

さらに 2 つの動的な可能性もあります。

  1. リアルタイムでプレビューを作成します-可能であれば(SOのように)-createアクションのみを使用します
  2. 最初のオプションのバリエーション: ユーザーがフォームを送信するとき、アクションにajax ポスト リクエストを送信しpreview、パーシャルをレンダリングしてページに含めます。彼女は間違いなく修正または提出したいと考えています。
于 2013-02-13T15:56:07.020 に答える