如何在mod_rails中使用3.1 rails资产?

时间:2011-09-13 14:00:47

标签: ruby-on-rails ruby-on-rails-3.1 passenger

尝试从rails server切换到Apache和Passenger。我在日志中遇到了资产未找到的错误,发现我需要执行rake assets:precompile。当我这样做(清洁后),我收到以下消息。预编译和rails server之间有什么区别可能会在前者中产生这样的错误?

$ rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Execute assets:precompile
rake aborted!
Unexpected token: operator (>) (line: 9398, col: 3, pos: 252073)

TypeError: object is not a function
    at Object.CALL_NON_FUNCTION (native)
    at new JS_Parse_Error (/tmp/execjs20110913-10691-16kuf4b.js:463:20)
    at js_error (/tmp/execjs20110913-10691-16kuf4b.js:474:15)
    at croak (/tmp/execjs20110913-10691-16kuf4b.js:926:49)
    at token_error (/tmp/execjs20110913-10691-16kuf4b.js:930:45)
    at unexpected (/tmp/execjs20110913-10691-16kuf4b.js:936:84)
    at /tmp/execjs20110913-10691-16kuf4b.js:1304:17
    at maybe_unary (/tmp/execjs20110913-10691-16kuf4b.js:1389:27)
    at expr_op (/tmp/execjs20110913-10691-16kuf4b.js:1409:45)
    at expr_ops (/tmp/execjs20110913-10691-16kuf4b.js:1416:24)
  (in /home/user/locator/app/assets/javascripts/application.js)

Tasks: TOP => assets:precompile

1 个答案:

答案 0 :(得分:1)

使用rails服务器,js文件将由webrick提供。

使用资产:预编译它是连接和压缩的。为了使它工作,它需要被解析,并且它有一个错误。在开发模式中,同样的错误并不是那么糟糕,因为它只是意味着在此时停止了JS加载。如果您处于资产调试模式,它甚至只影响特定文件。

我会在第9398行查看已编译的应用程序JS,看看是否存在语法错误,如果有,请在源文件中找到它。