Ruby on rails 注册后设计重定向到/用户
在我的应用程序控制器中,我有Ruby on rails 注册后设计重定向到/用户,ruby-on-rails,ruby,devise,erb,Ruby On Rails,Ruby,Devise,Erb,在我的应用程序控制器中,我有 protect_from_forgery layout :layout_by_resource def layout_by_resource if devise_controller? && resource_name == :user && action_name == 'new' "signin" else "application" end end 因此,
protect_from_forgery
layout :layout_by_resource
def layout_by_resource
if devise_controller? && resource_name == :user && action_name == 'new'
"signin"
else
"application"
end
end
因此,设计视图(如登录、注册、忘记密码等)使用该布局
出于某种原因,在“注册”和“忘记密码”页面上,如果出现错误,它将重定向到/users
(如果注册页面出错)和/users/password
,如果“忘记密码”页面出错。然而,在登录页面上,它只是像普通页面一样显示错误
在我的登录
版面内容中,我有:
<% flash.each do |key,msg| %>
<div class="message" id="<%= key %>">
<%= content_tag :div, msg %>
</div>
<% end %>
<&= yield %>
您是否覆盖了Deviate使用的任何路由?请参阅我刚才所做的更新
<%= form_for(resource, :as => resource, :url => session_path(resource)) do |f| %>
<p><%= f.text_field :email, :placeholder => "Email" %></p>
<p><%= f.password_field :password, :placeholder => "Password" %></p>
<p><%= f.submit 'Sign in', :class => "button" %>
<p><%= f.check_box :remember_me %><%= f.label :remember_me, "Stay Signed In" %></p>
<% end %>
<%= form_for(resource, :as => resource, :url => registration_path(resource)) do |f| %>
<p><%= f.text_field :email, :placeholder => "Email" %></p>
<p><%= f.password_field :password, :placeholder => "Password" %></p>
<p><%= f.submit 'Sign up', :class => "button" %>
<% end %>
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
<p><%= f.email_field :email, :placeholder => "Email" %></p>
<p><%= f.submit "Reset", :class => "button" %></p>
<% end %>
devise_scope :user do
get "/account" => "devise/registrations#edit"
get "/signin" => "devise/sessions#new", :as => "signin"
get "/signout" => "devise/sessions#destroy", :as => "signout"
end