【问题标题】:Running Ember only on subroute仅在子路由上运行 Ember
【发布时间】:2013-02-01 07:28:25
【问题描述】:
在我的 ember 应用程序中,我不希望它挂接到根 url,而是挂在子路径控制器上。我该怎么做呢?
例如:/
最终目标是当请求进入 /my_awesome_app/1234 时 -> 它会命中检查服务器端浏览器兼容性的 rails 应用程序。之后,如果它兼容,它将加载到 ember 应用程序中 -
所以现在 Ember 击中 - 根 - 和 rails 渲染并忽略 /#/ 并且只显示 - / 的哈希值。我有点难过,什么是解决这个问题的好方法。
这将是我原来问题的第 2 部分 -
ember hash urls in google
【问题讨论】:
标签:
javascript
ruby-on-rails
ember.js
【解决方案1】:
您只能在 /my_awesome_js_app 网址中要求与 Ember 相关的代码。为此,您可以将特定的javascript_include_tag 'ember_app' 放入视图中,该视图会加载到此 URL 中。在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 .)。