加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-4 – Rails 4设计缺少插值参数:“Invalid%{auth

发布时间:2020-12-17 01:56:30 所属栏目:百科 来源:网络整理
导读:我为我的用户模型配置了Devise.在过去的几天里,设计对我来说非常好.它现在也正在用于正确的电子邮件和密码.但问题是,当我输入错误的电子邮件或密码,而不是重定向到登录页面时,我收到错误: I18n::MissingInterpolationArgument at /users/sign_in missing in
我为我的用户模型配置了Devise.在过去的几天里,设计对我来说非常好.它现在也正在用于正确的电子邮件和密码.但问题是,当我输入错误的电子邮件或密码,而不是重定向到登录页面时,我收到错误:

I18n::MissingInterpolationArgument at /users/sign_in missing
interpolation argument :authentication_keys in “Invalid
%{authentication_keys} or password.” ({:resource_name=>:user} given)

我检查了我的devise.rb文件,注释了config.authentication_keys = [:email]行.我真的不知道如何解决这个错误并重定向到设计登录页面.

解决方法

我使用了这个帮助器也得到了这个错误(使用rails 5.2.1,设计4.5.0)

应用程序/佣工/ devise_helper.rb

def devise_error_messages!
    flash_alerts = []
    error_key = 'errors.messages.not_saved'

    if !flash.empty?
      flash_alerts.push(flash[:error]) if flash[:error]
      flash_alerts.push(flash[:alert]) if flash[:alert]
      flash_alerts.push(flash[:notice]) if flash[:notice]
      error_key = 'devise.failure.invalid'
    end

    return "" if resource.errors.empty? && flash_alerts.empty?
    errors = resource.errors.empty? ? flash_alerts : resource.errors.full_messages

    messages = errors.map { |msg| content_tag(:li,msg) }.join
    sentence = I18n.t(error_key,:count    => errors.count,:resource => 
                                        resource.class.model_name.human.downcase)

    html = <<-HTML
    <div id="error_explanation">
      <h2>#{sentence}</h2>
      <ul>#{messages}</ul>
    </div>
    HTML

    html.html_safe
  end

我会看一下处理翻译I18n.t的行或完全跳过帮助程序作为解决方法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读