【发布时间】:2014-12-07 21:46:22
【问题描述】:
我有一个 Rails 应用程序,Users 可以被邀请加入Teams。我有一个Invitation 对象来确定User 已被邀请加入哪个团队。当用户注册并且存在令牌并发现我将User 添加到Team 时,我使用令牌获得了正确的邀请。网址如下所示:
[baseurl]/signup/invitation_token?invitation_token=[token]
但是,当用户在注册表单中输入无效或错误信息(例如错误的确认密码)时,我遇到了一些麻烦。在这种情况下按下提交时,我的应用程序默认重定向索引路径。
[baseurl]/users
然后显示@user.errors。
这是我使用的时候:
format.html { render action: :new }
在我的users controller 的创建操作中。
我想要的是仍然在signup path 上或重定向回signup path,仍然具有相同的invitation_token 参数,并呈现@user.errors。理想情况下,我还希望保留文本字段中的值(不太重要)。
我已经尝试过:
format.html { redirect_to signup_invitation_path(invitation_token: @invitation.token) }
这适用于保留我的令牌,但我的 errors 不显示并且文本字段被清除。
所以,我想知道。有没有一种优雅的方式来做我想做的事?
【问题讨论】:
-
能否包含注册(新?)操作的所有代码?
标签: ruby forms ruby-on-rails-4 rails-routing