登录的简单表单问题(_F) [英] simple_form problems with login

查看:14
本文介绍了登录的简单表单问题(_F)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

首先,我对Rails非常陌生--我正在尝试一个小的登录应用程序,它已经全部正常工作,并决定尝试简单的表单-但是我不能让我的登录表单与gem一起工作。

以下是我的工作经历;

<h2>Log In</h2>

<%= form_tag sessions_path do %>

  <div class="field">
    <%= label_tag :email %>
    <%= text_field_tag :email, params[:email] %>
  </div>

  <div class="field">
    <%= label_tag :password %>
    <%= password_field_tag :password %>
  </div>

  <p><%= link_to "Forgotten Password?", new_password_reset_path %></p>

  <div class="field">
    <%= check_box_tag :remember_me, 1, params[:remember_me] %>
    <%= label_tag :remember_me %>
  </div>

  <div class="actions"><%= submit_tag "Log In" %></div>

<% end %>

以下是我尝试使用简单形式将其更改为的内容。

<h2>Log In</h2>

<%= simple_form_for :sessions, :url => sessions_path, :html => { :class => 'form-vertical' } do |f| %>

    <%= f.input :email, :required =>false, :label => 'Email Address',:placeholder => 'Email Address' %>

    <%= f.input :password, :required =>false, :label => 'Password',:placeholder => 'Password' %>

  <label class="checkbox">
    <%= check_box_tag :remember_me, 1, params[:remember_me] %>
    Remember me
  </label>

  <p>
    <%= link_to "Forgotten Password?", new_password_reset_path %>
  </p>


  <%= f.button :submit "Login" %>

<% end %>

这似乎工作正常,直到我尝试登录-当我登录时,它总是显示我的无效用户名和密码消息-我找不出哪里出了问题。如有任何帮助,我们将不胜感激!

谢谢!

推荐答案

收到!非常感谢扎巴为我指明了正确的方向;

我的第二种方法奏效;

<%= simple_form_for :sessions, :url => sessions_path, :html => { :class => 'form-vertical' } do |f| %>

        <%= f.input :email, :required =>false, :label => 'Email Address',:placeholder => 'Email Address' %>

        <%= f.input :password, :required =>false, :label => 'Password',:placeholder => 'Password' %>

      <label class="checkbox">
        <%= check_box_tag :remember_me, 1, params[:remember_me] %>
        Remember me
      </label>

      <p>
        <%= link_to "Forgotten Password?", new_password_reset_path %>
      </p>


      <%= f.button :submit "Login" %>

    <% end %>

但是,我未能将控制器更新到原来的位置;

  def create 
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
        ...
  end

我必须更新到;

  def create 
    user = User.find_by_email(params[:sessions][:email])
    if user && user.authenticate(params[:sessions][:password])
        ...
  end

谢谢扎巴!

这篇关于登录的简单表单问题(_F)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆