管理者が正常に動作している新しいクライアントを作成、編集、更新できるようにするクライアントモデルがある場所で開発中のアプリがあります。ただし、新しいクライアントがサインアップしてアカウントを作成できるようにするクライアントサインアッププロセスを追加する必要があります。
プロモーション ページを表示し、新しいクライアントに選択したプランにサインアップするためのフォームを提供し、失われたパスワードを回復できるようにする「ようこそ」モデルがあります。
ただし、サインアップ フォームは、クライアント モデル内の新しいフォームと非常によく似ています。私のwelcome_controllerにはこれがあります:
def signup
# I provide the client with a place to sign up
@client = Client.new
end
私のサインアップフォーム/ビューは次のようになります:
<%= form_for @client do |f| %>
<% if @client.errors.any? %>
<div id="flash_error">
<h2>Errors</h2>
<ul>
<% @client.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
...Form code...
<%= f.submit "Create My Account" %>
<% end %>
それはすべて順調です...しかし。サインアップフォームが実行しているクライアントモデルを再度検証することを望んでいます(コントローラーだけの「ようこそ」のモデルはありません)。ただし、検証にエラーがある場合、クライアントがいたウェルカム/サインアップの代わりに、クライアント/新しいルートが読み込まれます。
これを克服し、クライアント モデルに対して検証する方法はありますか? このフォームが失敗した場合、元のウェルカム/サインアップ ページに戻りますか?