在Rails中为2FA渲染js局部(链接)时出错

问题描述 投票:0回答:1

我正在构建rails 6应用程序,并尝试根据Chris Olivers教程GoRails添加2 Factor Auth。这是完整版本的付费专区。

因此,当我尝试在我的个人资料页面上呈现链接时,发生了什么事情,当显示链接时,我将显示此Enable<\/a>\n,而单击该页面时显示的网址是http://localhost:3000/%22/two_factor/%221,这时我应该获得样式按钮。读为“ Enable”或“ Disable”,我有一个令人怀疑的怀疑,这与我的部分中使用引号有关(如下所示)

我花了几个小时试图追逐,但无济于事。任何帮助将不胜感激!

问题的屏幕截图:

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

我的create.js.erb:'app / views / two_factors / create.js.erb

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

我的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 %>

这里的任何帮助将不胜感激!预先感谢!

javascript ruby-on-rails
1个回答
0
投票

所以最后一期是一本小书。

[我正试图像<%= j render partial '.../two_factors %>那样渲染我的部分内容,因为它需要浪费很多<%= render partial '.../two_factors %>愚蠢的错字,但中学到了宝贵的经验教训!

© www.soinside.com 2019 - 2024. All rights reserved.