Emberjs在铁轨上运行

时间:2014-11-23 02:57:23

标签: javascript ruby-on-rails ruby ruby-on-rails-3 ember.js

使用ruby on rails为EmberJs创建新的应用程序,并在运行" rails s"在ubuntu 14.04上收到以下错误

提取的来源(第6行):     


<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> <%= csrf_meta_tags %>

要解决上述错误,请尝试以下情况 1)已经发布的问题阅读上面的错误
ExecJS::RuntimeError in Users#index (RoR)
  a)更改〜/ .rvm / gems / ruby​​-2.1.5 @ rails4.1 / gems / execjs-1.4.0 / lib / execjs / engine.rb
  b)更改〜/ .rvm / gems / ruby​​-2.1.5 @ rails4.1 / gems / execjs-2.2.2 / lib / execjs / engine.rb

JScript = ExternalRuntime.new(
    :name        => "JScript",
    :command     => "cscript //E:jscript //Nologo",
    :runner_path => ExecJS.root + "/support/jscript_runner.js",
    :encoding    => 'UTF-8' # CScript with //U returns UTF-16LE
)    

但仍然得到同样的错误。

2)如果在 /app/assets/javascripts/application.js 中注释掉 // =需要供应商。然后上面的错误将消失。然后得到以下错误
TypeError:Ember.ApplicationController未定义
TypeError:Ember.ApplicationView未定义

3)如果改变

<%= javascript_include_tag 'default', 'data-turbolinks-track' => true %> 
   然后收到错误 NetworkError:404 Not Found localhost:3000 / javascripts / default.js

设置细节:
1)ruby --version ruby​​ 2.1.5p273(2014-11-13修订版48405)[x86_64-linux]
2)rails --version Rails 4.1.7
3)gem --version 2.4.4
4)nodejs --version v0.10.33

似乎没有任何工作,任何人都可以通过光来解决问题吗?

提前感谢所有人。

2 个答案:

答案 0 :(得分:0)

以下更改正常工作 1)将文件[ ember.js,handlerbars.js和jquery.js ]放在 / vendor / assets / javascripts 中。
   请注意,这些文件是从StartKit下的http://emberjs.com/下载的 2)在 app / assets / javascripts / application.js

下包含行 // = require_tree ../../../ vendor /.

答案 1 :(得分:0)

如果您将余烬js放入您的供应商/资产中,那么您做错了。大多数JavaScript库都被编译成gems以便在Rails中使用,而ember也不例外。请尝试使用本教程并使用ember-rails,否则您的项目可能会遇到问题。

http://hashrocket.com/blog/posts/setting-up-an-ember-app-with-a-rails-backend

哦,还要确保删除对turbolinks cuz的调用,因为它不适合使用ember