ERB不会在javascript脚本中执行
我的页面上有一个选择输入。此选择输入显示/隐藏表单中的字段。这一切都很好。但问题是,如果我提交表单时缺少一些必要的字段,那么之后它不会将select设置为正确的值。我就是不能让嵌入式ruby工作!它一直在逃避整件事。。。这是我的代码: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(){ ($(
$(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来防止任何错误的引号破坏脚本。