Ruby on rails Rails中的基本用户身份验证

Ruby on rails Rails中的基本用户身份验证,ruby-on-rails,authentication,simple-form,Ruby On Rails,Authentication,Simple Form,在本文之后,我正在Rails4中实现一些基本的用户身份验证 我没有使用提供的ERB表单,而是用simple_表单重新创建了至少我认为是用simple_表单完成的过程,在我尝试登录时传递的查询如下: SELECT `users`.* FROM `users` WHERE `users`.`email` IS NULL ORDER BY `users`.`id` ASC LIMIT 1 当我尝试使用form_标记而不是simple_表单来处理ERB示例时,该过程运行良好。以下是两种比较形式:

在本文之后,我正在Rails4中实现一些基本的用户身份验证

我没有使用提供的ERB表单,而是用simple_表单重新创建了至少我认为是用simple_表单完成的过程,在我尝试登录时传递的查询如下:

SELECT  `users`.* FROM `users` WHERE `users`.`email` IS NULL  ORDER BY `users`.`id` ASC LIMIT 1
当我尝试使用form_标记而不是simple_表单来处理ERB示例时,该过程运行良好。以下是两种比较形式:

我的表格从HAML改为ERB

<%= simple_form_for :sessions, :url => log_in_path do |f| %>
    <%= f.input :email %>
    <%= f.input :password %>

    <%= f.button :submit, 'Login' %>
从上述文章中:

<%= form_tag log_in_path do %>
  <%= label_tag :email %>
  <%= text_field_tag :email %>
  <%= label_tag :password %>
  <%= password_field_tag :password %>

  <%= submit_tag "Log in" %>  
<%end%>
根据本文:

必须更新会话控制器的创建操作

这:

变成这样:

@user = User.authenticate(params[:sessions][:email], params[:sessions][:password])
现在真是魅力四射

@user = User.authenticate(params[:sessions][:email], params[:sessions][:password])