【发布时间】:2016-03-18 16:30:38
【问题描述】:
在我的文件views/posts/new.html.erb中,底部有一个脚本:
$('div #mainPhotoDropzone').dropzone({
url: "/photos?post_id=" + $("#post_form").data('post-id'),
complete: function(file){
var url = "<%= @post.photos.first.file.path %>";
$.get(url, function(data){
$('#mainPhotoDropzone').attr('style', "background-image: url('" + data.main_photo + "')");
})
}
由于@post.photos.first 尚不存在,我在页面加载时遇到错误。这应该在上传完成时触发,所以当文件存在时。
我怎样才能避免这个错误?我不明白为什么当我在“完成”事件中定义它时在页面加载时执行它并且我没有看到替代方案。
【问题讨论】:
-
您的标记在任何 JS 运行之前呈现。
-
@elclanrs 但这不是实际标记的一部分,它是底部的脚本......我怎样才能避免这个错误并仍然使用这个功能?
标签: javascript ruby-on-rails erb