Ошибка рендеринга js partials (ссылки) в Rails для 2FA - PullRequest
0 голосов
/ 24 октября 2019

Я создаю приложение rails 6 и пытаюсь добавить 2 Factor Auth, следуя учебному пособию Криса Оливера GoRails Это платная версия для полной версии.

Так что, в сущности, происходит, когда я пытаюсь отобразить ссылки на странице своего профиля, я получаю Enable<\/a>\n в качестве отображаемой ссылки, а URL, отображаемый при нажатии на страницу, - http://localhost:3000/%22/two_factor/%221, когда я должен получитьстилизованная кнопка. это читает «Включить» или «Отключить», у меня есть подозрительное подозрение, что это связано с использованием кавычек в моих частичных (показанных ниже)

Я потратил несколько часов, пытаясь преследовать это, но нетвоспользоваться. Любая помощь будет принята с благодарностью!

Снимок экрана:

Shows actual render of the button plus Chrome dev tools inspector of the link

Мой контроллер:'app / controllers / two_factors_controller'

class TwoFactorsController < ApplicationController
  before_action :authenticate_user!

  def create
    current_user.update(
      otp_secret: User.generate_otp_secret,
      otp_required_for_login: true
    )
    @codes = current_user.generate_otp_backup_codes!
  end

  def destroy
    current_user.update(
      otp_required_for_login: false
    )
  end

My create.js.erb: 'app / views / two_factors / create.js.erb

$("#two_factor").html("<%=j render partial: "users/registrations/two_factor" %>");

my destroy.js.erb: 'app / views / two_factors / destroy.js.erb'

$("#two_factor").html("<%=j render partial: "users/registrations/two_factor" %>");

и, наконец, мое представление частично: 'app /assets / views / users / registrations / _two_factors.html.erb

<% if current_user.otp_required_for_login? %>
  <%= link_to "Disable", two_factor_path, method: :delete, remote: :true, class: "btn-alert"%>
<% else %>
  <%= link_to "Enable", two_factor_path, method: :post, remote: :true, class: "btn-success"%>
<% end %>

Любая помощь здесь будет принята с благодарностью! Заранее спасибо!

1 Ответ

0 голосов
/ 25 октября 2019

Итак, последний выпуск был маленьким.

Я пытался воспроизвести свою частичку примерно так <%= j render partial '.../two_factors %>, когда нужно было <%= render partial '.../two_factors %> глупая опечатка, которая потратила много времени на день ... но ценный урок!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...