包含Rails javascript但不在heroku上执行

时间:2016-01-31 05:54:43

标签: javascript ruby-on-rails ruby-on-rails-4 heroku

当我在本地运行应用程序时,一切正常。我在应用程序中只有3个javascript文件:

应用程序/资产/ Javascript角/ application.js中

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap
//= require_tree .

应用程序/资产/ Javascript角/ social_posts.js

//= require moment/moment 

时刻位于vendor/assets/javascripts

应用程序/资产/ Javascript角/ social_posts_actions.js.coffee

console.log 'hello'
# Format post dates
format_post_dates = ->
  $('time.moment').each ->
    dt = moment($(this).attr('datetime'))
    dtstr = dt.format('h:mm A')
    if dt.dayOfYear() != moment().dayOfYear()
      dtstr = dt.format('MMM Do, ') + dtstr
    $(this).html dtstr
    return
  return

add_edit_click_listener = ->
  $('.edit-social-post-action').click ->
    $('#socialPostMessage').val $(this).data 'message'
    $('#socialPostImageUrl').val $(this).data 'image-url'
    $('#myModal').modal()
    return
  return

# Add Handlers for the edit action
$(document).ready ->
  console.log 'hello doc.ready'
  add_edit_click_listener()
  return

当我在heroku上查看源代码时,它显示我的评论和console.log调用在javascript源中更新但没有执行任何操作。

此外,如果我尝试从控制台调用moment()(其中一个包含的库),则该功能不可用。

我已尝试在推送到heroku之前在本地预先编译我的资产,并且没有解决问题。

这是rails 4

2 个答案:

答案 0 :(得分:1)

找出解决方案。显然因为我没有包括系绳,引导程序正在逐渐消失。相当烦人:(

答案 1 :(得分:0)

在运行rake assets:precompile RAILS_ENV=production之前,您是否已运行git push heroku master?您需要在推送之前编译资产管道(图像,css和js文件),否则它们不会上传到生产应用程序。