ERB犯规在JavaScript脚本得到执行
-
27-09-2019 - |
题
我有我的网页上选择输入。此选择输入显示/隐藏的表单字段。这一切工作正常。但问题是,如果我提交表单,缺乏一些必要的领域,它并不设置选择正确的价值之后。我只是不能让嵌入式红宝石工作!它使逃逸整个事情...这里我的代码:
$(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();
}
});
});
为什么犯规这项工作??? 我没有得到任何错误或任何东西,它只是将值设置为“<%= @ profile.sex =>” 我在谷歌搜索和搜索有关堆栈溢出,并railscasts,轨道API,应有尽有。林严重混淆...
感谢您的帮助。
解决方案
尝试围绕'<%= @profile.sex %>'
去除刻度标记。
如果你需要在你的价值刻度线,尽量' + <%= @profile.sex %> + '
其他提示
您JS脚本不执行嵌入红宝石代码。下面是一个说明如何解决此问题:
您可能想看看 jsvars 。我在我的项目之一使用它,这是非常巨大的。您可以将其分配给哈希设置你的JavaScript变量权控制器:
jsvars[:profile_sex] = @profile.sex
那么你可以做的 $( “#profile_sex”)VAL(profile_sex); 在你的脚本。它可能会解决你的问题,使事情在同一时间更漂亮。
只是一个想法!
不隶属于 StackOverflow