Ruby on rails 登录后不设计路由
由于某些原因,Desive在登录到索引页(todo\u列表\u路径)后已停止路由。我不知道发生了什么事。有一件事是我实现了cocoon,但只在我的待办事项列表中实现。发生的情况是,它只是返回到登录页面,而没有让我登录 我确实在控制台中创建了一个虚拟用户,这里显示了我尝试登录时呈现的内容:Ruby on rails 登录后不设计路由,ruby-on-rails,ruby-on-rails-4,devise,routes,Ruby On Rails,Ruby On Rails 4,Devise,Routes,由于某些原因,Desive在登录到索引页(todo\u列表\u路径)后已停止路由。我不知道发生了什么事。有一件事是我实现了cocoon,但只在我的待办事项列表中实现。发生的情况是,它只是返回到登录页面,而没有让我登录 我确实在控制台中创建了一个虚拟用户,这里显示了我尝试登录时呈现的内容: Started GET "/users/sign_in?utf8=%E2%9C%93&authenticity_token=taJFijjoRwVbWTZIyJtn1q7xzPvg5qXPeNQ8Ths
Started GET "/users/sign_in?utf8=%E2%9C%93&authenticity_token=taJFijjoRwVbWTZIyJtn1q7xzPvg5qXPeNQ8Ths1lVQ%3D&user%5Bemail%5D=member%40example.com&user%5Bpassword%5D=[FILTERED]&user%5Bremember_me%5D=0&commit=Log+in" for 127.0.0.1 at 2014-09-16 22:47:16 -0500
Processing by Devise::SessionsController#new as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"taJFijjoRwVbWTZIyJtn1q7xzPvg5qXPeNQ8Ths1lVQ=", "user"=>{"email"=>"member@example.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Log in"}
Rendered devise/shared/_links.erb (0.9ms)
Rendered devise/sessions/new.html.erb within layouts/application (5.1ms)
Completed 200 OK in 669ms (Views: 527.4ms | ActiveRecord: 0.0ms)
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_action :configure_permitted_parameters, if: :devise_controller?
def after_sign_in_path_for(resource)
todo_lists_path
end
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :name
end
end
Rails.application.routes.draw do
get 'welcome/index'
get 'welcome/about'
devise_for :users
resources :todo_lists do
resources :todo_items
end
root to: 'welcome#index'
end
Started GET”/users/sign_-in?utf8=%E2%9C%93&authenticity_-token=taJFijjoRwVbWTZIyJtn1q7xzPvg5qXPeNQ8Ths1lVQ%3D&user%5beail%5D=member%40example.com&user%5Bpassword%5D=[过滤]&user%5b记住我%5D=0&commit=Log+in”2014-09-16 22:47-0500
Desive::SessionController处理#新为HTML
参数:{“utf8”=>“✓", "真实性令牌“=>”taJFijjoRwVbWTZIyJtn1q7xzPvg5qXPeNQ8Ths1lVQ=“,”用户“=>{”电子邮件“=>”member@example.com“,“密码”=>“[已筛选],“记住我”=>“0”},“提交”=>“登录”}
渲染设备/共享/_links.erb(0.9ms)
布局/应用程序中呈现的设计/sessions/new.html.erb(5.1ms)
在669ms内完成200 OK(视图:527.4ms |活动记录:0.0ms)
类ApplicationController 设计参数消毒剂。对于(:注册)您的登录视图不正确。您已经有了
的表单,\u,但您也使用了
标记,这是错误的。由于您没有方法
或操作
,因此默认情况下,它会使用GET
方法将表单数据发送到当前URL
您应该更新视图,如下所示:
<h2 class="text-center">Log in</h2>
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div class="row">
<div class="large-12 columns">
<div>
<%= f.label :email %>
<%= f.email_field :email, autofocus: true %>
</div>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<%= f.label :password %>
<%= f.password_field :password, autocomplete: "off" %>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %>
<% end -%>
<div class="row">
<div class="large-12 columns">
<%= f.submit "Log in", class: "button [tiny small large]" %>
</div>
</div>
<%= render "devise/shared/links" %>
</div>
</div>
<% end %>
登录
谢谢!我讨厌错过简单的东西。
<h2 class="text-center">Log in</h2>
<form>
<div class="row">
<div class="large-12 columns">
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div>
<%= f.label :email %>
<%= f.email_field :email, autofocus: true %>
</div>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<%= f.label :password %>
<%= f.password_field :password, autocomplete: "off" %>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %>
<% end -%>
<div class="row">
<div class="large-12 columns">
<%= f.submit "Log in", class: "button [tiny small large]" %>
</div>
</div>
<% end %>
<%= render "devise/shared/links" %>
</div>
</div>
</form>
<h2 class="text-center">Log in</h2>
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div class="row">
<div class="large-12 columns">
<div>
<%= f.label :email %>
<%= f.email_field :email, autofocus: true %>
</div>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<%= f.label :password %>
<%= f.password_field :password, autocomplete: "off" %>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %>
<% end -%>
<div class="row">
<div class="large-12 columns">
<%= f.submit "Log in", class: "button [tiny small large]" %>
</div>
</div>
<%= render "devise/shared/links" %>
</div>
</div>
<% end %>