ERB不会在javascript脚本中执行

ERB不会在javascript脚本中执行,javascript,ruby-on-rails,forms,erb,embedded-ruby,Javascript,Ruby On Rails,Forms,Erb,Embedded Ruby,我的页面上有一个选择输入。此选择输入显示/隐藏表单中的字段。这一切都很好。但问题是,如果我提交表单时缺少一些必要的字段,那么之后它不会将select设置为正确的值。我就是不能让嵌入式ruby工作!它一直在逃避整件事。。。这是我的代码: $(document).ready(function() { $("#profile_sex").val('<%= @profile.sex %>') $("#profile_sex").change(function(){ ($(

我的页面上有一个选择输入。此选择输入显示/隐藏表单中的字段。这一切都很好。但问题是,如果我提交表单时缺少一些必要的字段,那么之后它不会将select设置为正确的值。我就是不能让嵌入式ruby工作!它一直在逃避整件事。。。这是我的代码:

$(document).ready(function() {
$("#profile_sex").val('<%= @profile.sex %>')
   $("#profile_sex").change(function(){



    ($(this).val() == "Frau") ? $('#form-female').show() : $('#form-female').hide();
    ($(this).val() == "Mann") ? $('#form-male').show() : $('#form-male').hide();
    if ($(this).val() == "Paar") {
        $('#form-female').show(); 
        $('#form-male').show();
    }       
  });

});
为什么这不管用??? 我没有得到任何错误或任何东西,它只是将值设置为 我在谷歌上搜索堆栈溢出、railscasts、RailsAPI等等。我真的很困惑


谢谢你的帮助。

试着去掉周围的记号


如果需要在值周围打勾,请尝试“++”

您可能需要查看的。我正在我的一个项目中使用它,它非常棒。您可以通过分配给散列,在控制器中正确设置javascript变量:

jsvars[:profile_sex] = @profile.sex
然后你可以做$profile_sex.valprofile_sex;在你的剧本里。它可能会解决你的问题,同时让事情变得更漂亮


只是一个想法

您的JS脚本不执行嵌入式ruby代码。以下是如何解决此问题的说明:


更好的是,使用@profile.sex.inspect或@profile.sex.to_json来防止任何错误的引号破坏脚本。