mysql - 正在再次发送设计确认邮件

标签 mysql ruby-on-rails devise

即使在电子邮件确认后,也会再次重新发送确认邮件。即使confirmed_at 属性显示确认时间,设备用户属性unconfirmed_email 也不会更改为NULL 值。

我正在使用 Rails 5 并设计 gem 版本 4.2

这是确认 Controller

 def create
  begin
  email = params[resource_name][:email]
  rescue
  email = ""
end
user = User.find_by_email(email)
if poster and ["blocked", "deactivated"].include?(user.status)
  poster.errors.add(:email, "has been #{user.status}")
  self.resource = user
  respond_with(self.resource)
  return false
end
super
end

这是注册 Controller 中验证电子邮件的功能。

 def verify_email
   @user = User.find_by_confirmation_token(params[:token])
if @user
  if @user.confirmed?
    flash[:error] = "Your Account is already verified please try to login"
    redirect_to new_poster_session_path
  else
    @user.confirmed_at = Time.now
    #@user.confirmation_token = nil
    @user.save
    sign_in @user
    token = Devise.friendly_token
    current_user.update_attribute :current_sign_in_token, token
    session[:sign_in_token] = token
    redirect_to root_path
  end
else
  @user = User.new
  @company = Company.new
  @city = City.new
  #      @region = Location::Region.new
  flash.now[:error] =       I18n.t("applicant.confirmations.invalid_or_expired_token")
  flash[:regenerate_token] = I18n.t("applicant.confirmations.invalid_or_expired_token_regenerate", :path => new_user_confirmation_path)
  respond_with_navigational(resource) { render :new }
end

结束

上面的代码适用于另一个模型,并且没有显示错误。我不知道该怎么办。请帮忙!

最佳答案

如果这是实际的代码,则有错误。

更改此行

user = user.find_by_email(email)

到这一行

user = User.find_by_email(email) # use the class!

关于mysql - 正在再次发送设计确认邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42801700/

相关文章:

ruby-on-rails - 如何使用 globalize2 在 I18n 中启用回退

mysql - 当 MySQL 中不存在时执行 SELECT 但 INSERT

mysql - 我可以从 MySQL sql 文件生成 ruby​​ on rails 数据库迁移文件吗

mysql - 表 1 与表 2 外键引用的子项总和之间的 SQL 查询差异

ruby-on-rails - 带有 Devise 和 rspec : Warden test helpers unreliable 的 Rails 3

ruby-on-rails - 数组连接函数 - Ruby on Rails

ruby-on-rails-3 - 设计:在不登录的情况下将用户切换为管理员(su-方法)

ruby-on-rails - Devise for Rails 中的唯一用户名

javascript - 关于node.js中的MySQL模块以及与mySQL数据库的并发连接

ruby-on-rails - ruby gem devise 无法生成初始化程序