将布尔值从 rails 控制器传递到 javascript 以用于条件



我在引导模式中有一个正在使用ajax处理的表单。如果表单验证,它将关闭模式或按预期显示验证错误。但是,如果根据控制器中保存的布尔值满足条件,我想在模式隐藏动画完成后重定向用户。尽管条件无法按书面形式工作,但它可以让您看到我正在尝试完成的内容:

$(document).ready(function() {
  $('#modal-window').modal({remote: true});
  $('#modal-window').modal('show');
  $('#modal-window').on('hidden', function(){
    var saved = <%= @bool %>;
    if(saved == "true"){
      $(window.location.replace("<%= some_url %>"));}
    });
})

您正在设置保存到布尔值(可能 - 您的@bool变量中的任何内容)

var saved = <%= @bool %>;

但随后与字符串"true"进行比较

if(saved == "true"){

因此,如果您将第二行替换为

if(saved){

它会工作

替换

var saved = <%= @bool %>;

var saved = "<%= @bool %>";

你把这个代码发布在哪里?如果您的表单未index.html.erb那么在使用 remote: true 时,您将需要一个index.js.erb文件来提供您希望在示例中运行的 javascript。另外,不要忘记使用j转义返回 URL <%=j some_url %> .

相关内容

  • 没有找到相关文章

最新更新