Ruby on rails 部署到Heroku时无法编译资产
我想将Rails应用程序部署到heroku,但资产编译失败。在本地环境中,它运行良好Ruby on rails 部署到Heroku时无法编译资产,ruby-on-rails,ruby,coffeescript,asset-pipeline,Ruby On Rails,Ruby,Coffeescript,Asset Pipeline,我想将Rails应用程序部署到heroku,但资产编译失败。在本地环境中,它运行良好 Your bundle is complete! It was installed into ./vendor/bundle Cleaning up the bundler cache. -----> Writing config/database.yml to read from DATABASE_URL -----> Preparing app for Rails a
Your bundle is complete! It was installed into ./vendor/bundle
Cleaning up the bundler cache.
-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
rake aborted!
Error: Parse error on line 13: Unexpected 'INDENT'
(in /tmp/build_iztv4ybnwpqh/app/assets/javascripts/require_dir/view_after
_key_recieve.js.coffee)
日志显示第13行出现意外缩进,但我找不到任何错误
root = exports ? this
class root.ViewAfterKeyRecieveViewModel
constructor: ->
@isDecoded = ko.observable false
@encryptedKey = ko.observable ''
@personalPassword = ko.observable ''
@decodePassword = ''
# do when @personalPassword is changed
ko.computed =>
if @personalPassword() isnt ''
@decodePassword = sjcl.decrypt(@personalPassword(), @encryptedKey())
simg = new ScrambledImage044 "/assets/image61.png" # THIS IS LINE 13
height: 16
width: 12
canvasId: 'original'
seed: @decodePassword
simg.fix()
simg.paint()
createEncryptedKey: ->
# create key and set to @encryptedKey
@encryptedKey sjcl.encrypt("todo", "hirakegoma")
谢谢你的好意。试试这个:
simg = new ScrambledImage044 "/assets/image61.png", # notice the comma
height: 16
width: 12
canvasId: 'original'
seed: @decodePassword
或者这个:
simg = new ScrambledImage044( "/assets/image61.png"
height: 16
width: 12
canvasId: 'original'
seed: @decodePassword
) # notice the parens
这可能是制表符而不是空格的问题。看,这确实很奇怪。根据我的经验,在生产环境中编译coffescript时总是有陷阱;我认为在这种模式下,解析器配置默认值可能更严格(并且不允许使用一些synctatic sugar),但我不能确定。我曾经疯狂地试图纠正这样一个错误,只是发现添加paren解决了这个问题。。。