在我的应用程序中,我遇到了非常基本的问题。
我有一个要使用coffeescript进行处理的表格。
我的控制器/操作是ProfilesController#edit_profile_photos
我的观点是:/profile/edit/profile_photos.html.erb
<span class="file-upload">
<div class="progress" id='progress-bar' style='display:none;'>
<div class="progress-bar progress-bar-striped active" role="progressbar" style="width: 0%">
<span class="sr-only" id='progress-bar-text'></span>
</div>
</div>
<button type="button" class="btn btn-lg btn-outline-green trigger-file-upload">Upload a new photo</button>
<%= f.attachment_field :avatar, direct: true, presigned: true %>
</span>
因此,我使用以下命令创建了一个users.coffee文件:
$(document).ready ->
alert "page has loaded!"
jQuery ->
$(document).on "upload:start", "form", (e) ->
$(this).find("input[type=submit]").attr "disabled", true
$("#progress-bar").slideDown('fast')
$(document).on "upload:progress", "form", (e) ->
detail = e.originalEvent.detail
percentComplete = Math.round(detail.loaded / detail.total * 100)
$('.progress-bar').width("#{percentComplete}%");
$("#progress-bar-text").text("#{percentComplete}% Complete")
$(document).on "upload:success", "form", (e) ->
$(this).find("input[type=submit]").removeAttr "disabled" unless $(this).find("input.uploading").length
$("#progress-bar").slideUp('fast')
好吧。我不知道为什么我的咖啡文件没有被加载。它应该与控制器名称相同吗? (profiles.coffee)?
谢谢
答案 0 :(得分:1)
您可以将其添加到application.js文件中以包含要加载的文件,我假设您在布局上具有标准配置,在那里加载了application.js。
//= require users
或者您可以将文件命名为控制器,并将其添加到布局中
<%= javascript_include_tag params[:controller] %>
您有很多解决方案,如果这样做没有帮助,请向该问题添加更多信息,例如application.js和layout / application.html.erb