【问题标题】:Have Devise failed validation remain on same URL?设计失败的验证是否保留在相同的 URL 上?
【发布时间】:2011-03-10 21:44:39
【问题描述】:

我正在尝试使用Devise 执行此操作Use custom route upon model validation failure,但我没有任何运气。

我的路线是这样指定的:

# authentication routing
devise_for :users do
  get "/login" => "devise/sessions#new"
  get "/logout" => "devise/sessions#destroy"
  get "/register" => "devise/registrations#new"
end

但是当验证失败时,比如在/register 页面上,URL 会变回/users

当验证失败时,我希望 URL 保持在 /register。我该怎么做?

【问题讨论】:

  • 所以,我基本上遇到了和你一样的问题并得到了相同的解决方案。此解决方案的问题是设置“after_sign_up_path_for(resource)”不再有效。你是否也遇到过同样的问题,你知道答案吗?

标签: ruby-on-rails-3 devise


【解决方案1】:

球。再次,我在发布后不久就弄清楚了--你不知道吗?--阅读。

再看How to change the login and signup urls in devise plugin Rails3https://github.com/plataformatec/devise/wiki/How-To:-Change-the-default-sign_in-and-sign_out-routes,我现在有了这个:

# authentication routing
devise_for :users, :controllers => { :sessions => 'devise/sessions' }, :skip => [:sessions] do
  get "/login" => "devise/sessions#new", :as => :new_user_session
  post "/login" => "devise/sessions#create", :as => :user_session
  get "/logout" => "devise/sessions#destroy", :as => :destroy_user_session
  get "/register" => "devise/registrations#new", :as => :new_user_registration
  post "/register" => "devise/registrations#create", :as => :user_registration
end

这似乎按预期工作。

【讨论】:

  • 编辑:非常感谢。有什么想法可以让我在组合登录/注册页面上使用它吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
  • 2015-11-07
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多