首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >railstutorial.org示例应用程序登录密码未识别

railstutorial.org示例应用程序登录密码未识别
EN

Stack Overflow用户
提问于 2016-10-28 01:34:57
回答 2查看 50关注 0票数 1

我已经完成了示例应用教程通过10.4.1节。我所有的测试都是绿色的。在完成10.4.1之前,一切都如期而至。但是,在编辑_user.html.erb部分以添加删除链接时,登录函数无法工作。现有用户的密码不被识别。如果我创建一个新用户,注册过程可以工作。然后我可以注销并使用新用户的电子邮件和密码登录,但是以前创建的帐户是不可访问的。不知道该怎么办。

_user.html.erb:

代码语言:javascript
复制
<li>
  <%= gravatar_for user, size: 50 %>
  <%= link_to user.name, user %>
  <% if current_user.admin? && !current_user?(user) %>
    | <%= link_to 'delete', user, method: :delete,
      data: { confirm: 'You sure?' } %>
    <% end %>
</li>

users_controller.rb

代码语言:javascript
复制
class UsersController < ApplicationController
  before_action :logged_in_user, only: [:index, :edit, :update]
  before_action :correct_user, only: [:edit, :update]

  def index
    @users = User.paginate(page: params[:page])
  end

  def show
    @user = User.find(params[:id])
  end

  def new
    @user = User.new
  end

  def create
    @user = User.new(user_params)
    if @user.save
      log_in @user
      flash[:success] = "Welcome to the Sample App!"
      redirect_to @user
    else
      render 'new'
    end
  end

  def edit
    @user= User.find(params[:id])
  end

  def update
    #@user = User.find(params[:id])
    if @user.update_attributes(user_params)
      #sign_in @user
      flash[:success] = "Profile updated"
      redirect_to @user
    else
      render 'edit'
    end
  end

  def destroy
    User.find(params[:id]).destroy
    flash[:success] = "User destroyed"
    redirect_to users_path
  end

  private
  def user_params
    params.require(:user).permit(:name, :email, :password, :password_confirmation)
  end

  # Before filters

  # Confirms a logged-in user
  def logged_in_user
    unless logged_in?
      store_location
      flash[:danger] = "Please log in."
      redirect_to login_url
    end
  end

  # Confirms the correct user.
  def correct_user
    @user = User.find(params[:id])
    redirect_to(root_url) unless current_user?(@user)
  end

end

没有来自rails服务器控制台的错误消息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-29 01:54:04

甚至比那更愚蠢。作为练习的一部分,我已经编辑了第一个用户的密码,但是后来数据库被重置了。必须使用初始默认密码,而不是我更改的密码。此刻觉得很不自在。

票数 1
EN

Stack Overflow用户

发布于 2016-10-28 18:40:15

使用"rails c“命令在终端中运行rails控制台。然后键入u= Users.all,查看数据库中有多少现有用户。也许你说的那个用户根本不存在。当您创建该用户时,它可能是一个临时会话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40296647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档