我正在使用带有rails后端的backbone.js。
我有一个对象集合:
class D3.Collections.ResourceInstances extends Backbone.Collection
url: '/project/'+D3.projectId+'/resource_instances'
我正在尝试将 resource_instances 范围限定为用户的当前项目。在我的 Rails 视图中,我在 D3 上设置 projectId:
<%= javascript_tag do %>
$(document).ready( function() {
D3.projectId = <%= @project.id %>;
});
<% end %>
当我resources = new D3.Collections.ResourceInstances()
在浏览器控制台中调用时resources.url
是"/project/undefined/resource_instances"
. '/project/'+D3.projectId+'/resource_instances'
但是,如果我在控制台中进行评估,我会得到预期的"/project/37/resource_instances"
. 这里发生了什么?为什么 Collection 中没有定义 projectId?