Nano Hash - криптовалюты, майнинг, программирование

Ошибка метода .authenticate из-за сгенерированных учетных данных rSpec Fabricator

Тестовое приложение, в котором я работаю, имеет стандартную аутентификацию в стиле session[:user_id]=user.id. Я использую Fabricator для проверки назначения user.id хэшу сеанса. Когда я использую Fabricator, метод user.authenticate дает сбой, но когда я вручную передаю учетные данные без использования Fabricator, тест проходит успешно.

Я поставил binding.pry в действие создания контроллера сеанса, и я определенно могу получить доступ как к электронной почте, так и к паролю, когда я их вызываю, и все же функция «аутентификации» не работает. Почему это?

Контрольная работа:

it "assigns user.id to session hash" do
        johndoe=Fabricate(:user) 
        puts johndoe.email
        puts johndoe.password
        post :create, email: johndoe.email, password: johndoe.password
        expect(session[:user_id]).to eq(april.id)
end

Контроллер:

 def create
    binding.pry
    user=User.find_by(email:params["email"])
    if user && user.authenticate(params[params["password"]])
      session[:user_id]=user.id
      flash[:success]="You have successfully signed in."
      redirect_to videos_path
    else
      flash[:danger]="There was something wrong with your email address or password."
      render 'new'
    end
  end

Ответы:


1

У вас есть params[params["password"]]. Попробуйте params["password"].

11.09.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..