我有一个正在开发的应用程序,其中有一个客户端模型,它允许管理员创建、编辑和更新我工作得很好的新客户端。但是,现在我需要添加一个客户注册流程,允许新客户注册,从而创建他们的帐户。
我有一个“欢迎”模型,它允许显示促销页面,为新客户提供一个表格来注册选择计划并让他们恢复丢失的密码。
但是,注册表单与客户端模型中的新表单非常相似。在我的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 %>
这一切都很好……但是。我希望注册表单能够再次验证它正在执行的客户端模型(“欢迎”没有模型,只是一个控制器)。但是,当验证出现错误时,它会加载客户端/新路由,而不是它们所在的欢迎/注册。
有没有办法可以克服这个问题并针对我的客户模型进行验证,但是如果此表单失败,请将他们带回他们所在的欢迎/注册页面?