我对Rails很新,甚至更新JavaScript,所以请耐心等待。
似乎Rails正在向我的脚本发送一个JQuery对象的构造函数,而不是我给它的变量的值。
_form.html.erb
.....
<%= skill_form.check_box { id: "strength_checkbox_#{skill.id}" } %>
<%= render partial: 'proficiency_selector', locals: {strength_id: skill.id} %>
<%= javascript_tag("toggle_proficiency(#{skill.id});") %>
.....
_proficiency_selector.html.erb
<div id="proficiency_selector_<%= strength_id %>">
......
</div>
toggle_proficiency.js
$(function toggle_proficiency (strength_id) {
alert(strength_id);
.....
});
当我在表单中呈现时,会显示正确的skill.id,但JavaScript警告会打印出以下内容:
function ( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
}
非常感谢任何帮助。