Ruby on rails JST v下划线模板
我正在玩一个使用JST模板的Rails主干应用程序演示。在用户注册视图中,它有这样一行Ruby on rails JST v下划线模板,ruby-on-rails,backbone.js,jst,Ruby On Rails,Backbone.js,Jst,我正在玩一个使用JST模板的Rails主干应用程序演示。在用户注册视图中,它有这样一行 template: JST["users/signup"], var template = $('#signup').html(); this.template = _.template(template); 这是指注册模板,其中一部分有一个带有用户注册id的表单 <form accept-charset="UTF-8" action="/users" class="simple_form
template: JST["users/signup"],
var template = $('#signup').html();
this.template = _.template(template);
这是指注册模板,其中一部分有一个带有用户注册
id的表单
<form accept-charset="UTF-8" action="/users" class="simple_form form-horizontal" id="user_registration" method="post">
重要的是,用户注册视图没有明确声明el
。我认为这很重要,因为el
通常定义视图侦听事件的区域。在这个视图中,它没有声明,但是它知道何时单击submit按钮
如果我拆下这条线
template: JST["users/signup"],
并将代码从该模板(包括#user_注册id)复制到下划线模板中,然后在初始化时告诉user_注册视图使用该模板,如下所示
template: JST["users/signup"],
var template = $('#signup').html();
this.template = _.template(template);
一旦我在#user_注册表单上单击提交,user_注册视图将不再听到该事件
总之,当我使用
template:JST[“users/signup”],
进行模板化时,user\u registration视图只会听到提交事件,而不是在我使用下划线时。在这两种情况下,我都没有明确声明视图应该使用el
侦听的区域。为什么呢 我不确定如何在JSFIDLE上重新创建一个包含用户模板的文件夹,该文件夹将对此做出响应,模板:JST[“users/signup”],但JST
只是一个充满JavaScript函数的对象。要解释@muistooshort,只需将编译后的JST模板复制到FIDLE中即可。您还可以通过console.log(this.$el)
轻松找到您的视图连接到页面上的哪个元素。您知道……有了路由器并且需要许多存根,我无法找到一把小提琴来重现问题。然而,如果有人想要的话,这是其他人的Rails应用程序,带有主干实现装置。如果我使用JST模板并将它们放在脚本标记中以使用OP中描述的下划线,那么它就不起作用。