使用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
似乎没有任何工作,任何人都可以通过光来解决问题吗?
提前感谢所有人。
答案 0 :(得分:0)
以下更改正常工作
1)将文件[ ember.js,handlerbars.js和jquery.js ]放在 / vendor / assets / javascripts 中。
请注意,这些文件是从StartKit下的http://emberjs.com/下载的
2)在 app / assets / javascripts / application.js
答案 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