仅在子路由上运行Ember

时间:2013-02-01 07:28:25

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

在我的ember应用程序中,我不希望它挂在根URL上而是在子路径控制器上。我该怎么做呢? 例如:/< - 主页& / contact< - static(非JS应用程序 - 通过Rails渲染) 但我想要/ my_awesome_JS_app&& / my_awesome_js_app / 1让ember在其上运行。

最终目标是在请求进入/ my_awesome_app / 1234时 - >>它命中了rails应用程序,它检查服务器端是否兼容浏览器。之后,如果它兼容,它将加载到ember应用程序 -

所以现在Ember击中 - root - 和rails渲染并忽略/#/并且只显示 - /哈希。我有点难过,对于这个问题,这将是一个很好的解决方案。 这将是我原来问题的第2部分 - ember hash urls in google

1 个答案:

答案 0 :(得分:1)

您只需要在/my_awesome_js_app网址中输入与Ember相关的代码。为此,您可以将特定javascript_include_tag 'ember_app'放入视图中,该视图会加载到此网址中。在文件app/assets/javascripts/ember_app.js中,您应该拥有ember的初始化代码。例如,在我的情况下,此文件如下所示:

#= require handlebars
#= require ember
#= require ember-data
#= require_self
#= require store
#= require_tree ./models
#= require_tree ./controllers
#= require_tree ./views
#= require_tree ./helpers
#= require_tree ./templates
#= require_tree ./routes

window.App = Ember.Application.create
  rootElement: '#ember'

不要忘记,您不应该在application.js中要求此文件(请注意require_tree .)。