0

我有一个正在开发的应用程序,其中有一个客户端模型,它允许管理员创建、编辑和更新我工作得很好的新客户端。但是,现在我需要添加一个客户注册流程,允许新客户注册,从而创建他们的帐户。

我有一个“欢迎”模型,它允许显示促销页面,为新客户提供一个表格来注册选择计划并让他们恢复丢失的密码。

但是,注册表单与客户端模型中的新表单非常相似。在我的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 %>

这一切都很好……但是。我希望注册表单能够再次验证它正在执行的客户端模型(“欢迎”没有模型,只是一个控制器)。但是,当验证出现错误时,它会加载客户端/新路由,而不是它们所在的欢迎/注册。

有没有办法可以克服这个问题并针对我的客户模型进行验证,但是如果此表单失败,请将他们带回他们所在的欢迎/注册页面?

4

1 回答 1

0

您是否尝试过:

if @client.save
  #manage saved client
else
  render "welcome"
end
于 2013-11-11T03:21:09.380 回答