问题标签 [ember-rails]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1104 浏览

ember.js - Ember-Rails 和命名空间模板

我有一个 Rails 应用程序,它被命名为三个部分(几乎 3 个共享模型的应用程序)。我希望每个命名空间部分都有自己的 Ember 应用程序。这些应用程序永远不会以相同的布局加载,因此不必了解彼此的任何信息。事实上,当应用程序最终可以真正拆分时,我希望尽可能地保持代码分离。

我正在尝试使用 ember-rails gem 来做到这一点。

基本上就像这个问题: 如何使用 ember-rails gem 为我的 HandlebarsJS 模板指定替代目录?

那里的答案有效,但我很确定使用 templates_root 将我限制在一个命名空间中。所以我不能同时拥有 admin.js 和 admin/templates 命名空间以及 customer.js 和 customer/templates 命名空间。

那么有谁知道 ember-rails 是否会支持多个命名空间的 Ember 应用程序并因此呈现多个模板根?

谢谢!

0 投票
1 回答
990 浏览

ember.js - 在 ember 视图的上下文之外使用 ember-rails 车把模板

我有一个使用ember-railsgem 的 rails 应用程序。

我的网站中有一部分不在 ember 上,但可以方便地使用通过资产管道提供的车把模板之一。然而,似乎有些不对劲。具体来说,我的模板返回如下:

但是,如果我尝试使用此模板:

知道为什么生成的模板会出现问题吗?

0 投票
3 回答
4882 浏览

ember.js - 在 EmberJS 中检测 URL 变化并抓取 URL(使用 Discourse)

我正在使用基于 EmberJS 构建的 Discourse ( http://www.discourse.org/ ),并尝试观察 URL 更改的任何时间,例如打开新主题时。我已经看到了观察 currentPath 的答案,例如这里: Detect route transitions in EmberJS 1.0.0-pre.4

但我正在尝试检测任何URL 更改,而不仅仅是路径更改。如该答案的评论中所述:

/pages/1这个观察者在从例如转换到时不会触发 ,/pages/2因为路径保持不变: pages.page.index

我想做的实际上是检测前面提到的那些不会被observes('currentPath'). 沿着这些思路,如果我this.get('currentPath');在我的函数内部做,我会得到类似的东西,topic.fromParams但我实际上对 URL 路径感兴趣,例如/t/this-is-my-url-slug.

简而言之,我想检测应用程序何时来自:

能够捕获路径:/t/another-url-slug

抱歉,我有点像 Ember n00b,我唯一的经验是通过 Discourse。有任何想法吗?

0 投票
1 回答
84 浏览

ruby-on-rails - 无法检索模型数据

我开始通过 ember-rails gem 将 Ember.js 与 Rails 3.2.13 一起使用。我无法使用以下命令通过浏览器控制台访问数据:

它在控制台上返回undefined,但在服务器日志中输出以下内容:

如果我做错了什么或遗漏了什么,请告诉我。谢谢


这是我安装 ember-rails 的步骤

1) 将 ember-rails 添加到 gem 文件

2)在我的包安装后,我运行:

rails g ember:bootstrap

有 MVC 目录 app.js、application.js、router.js 和 store.js。

store.js 有以下内容:

3)然后我做了

接下来,我添加了 active_model_serializer gem 并为 Post 生成了一个序列化程序。

0 投票
3 回答
544 浏览

ember.js - 使用嵌套路由时可以使用应用程序出口吗?

我有一个基于帖子的应用程序。当我嵌套这样的路线时:

并尝试访问 /posts/id 链接,如果我将 {{outlet}} 放入帖子模板,它只会呈现模板。

这是我基于github工作的代码。它具有所有功能,只是它呈现到父级出口而不是应用程序出口。

是否可以让 show、new 或 edit 模板在应用程序 {{outlet}} 中呈现其模板?

0 投票
0 回答
61 浏览

ruby-on-rails - ember-data:用于删除关联对象的服务器端代码

我正在使用 ember-data RESTAdapter 的修订版 12 并使用 rails-api gem。

我有这些模型:

以这种方式配置:

(我正在使用embedded: always,因为如果我不使用 document_id = 0 提交我的文档行,如此处所

考虑我已经创建了一个包含 2 行的传输文档(id:1)。如果我删除一行(id:1),结果将是一个 PUT 请求/transport_documents/1

用这个 put 发送的 JSON 是这样的:

而 rails 会期待这样的事情:

有没有在 active_model_serializers 中指定的方法来做到这一点?或者我应该对我的控制器进行一些手动转换?或者我应该更改有效负载以便 ember 产生正确的请求?

0 投票
1 回答
224 浏览

ruby-on-rails-3 - 无法在生产模式下访问 config.handlebars

我有一个现有的 rails 应用程序,并且添加了一个 ember 前端。我在将新版本(首次包括 Ember)部署到 Heroku 时遇到问题。

问题是我无法在生产模式下运行 rake 任务。

当我尝试在 heroku 上 rake db:migrate 时,我发现了这一点。我收到以下错误:

如果我尝试在生产模式下本地运行任何任务,我会收到相同的错误,例如:

来自 config/application.rb 的违规行:

由于各种原因,我不得不将 ember 模板下移一级文件。它需要留在那里。在开发模式下一切正常。

知道如何解决这个问题吗?

尝试升级 ember-rails gem。这没有帮助。(我使用的是 0.12.0)

0 投票
0 回答
93 浏览

javascript - 将我的视图映射到我的 EmberJS 应用程序

你好 !

我刚开始学习 EmberJS 框架概念,有点迷茫。我会尽量说清楚。

我将 Ember 与 ember-rails gem 集成到我的 Rails 应用程序中。在我的测试 Rails 应用程序中,我管理着一组文章。

ember-rails 设置为模板、控制器、视图和其他东西创建了一堆文件夹。

我有一个文章页面,显示我文章的内容(标题、描述……)。在这个页面上,我不想用 HTML 显示我的文章内容,我想使用 Ember。

我创建了一个应用程序模板

然后,我为我的文章页面创建了模板:

请注意,我暂时不想使用任何路由。我只想在页面上显示我的文章。所以我在我的show.html.erb(在脚本标签中)引导文章 JSON 并使用我发现的一种技术来存储和检索它。

我发现实现这一目标的最好方法是创建一个IndexRoute.

仍然没有出现。我的文章模板不显示。所以我附加到前一个控制器:

它终于出现了。我的问题是:我阅读了一些关于 ember 视图的文档。所以我想实现它以包含我的模板的帮助程序、管理事件和处理 DOM 生命周期事件。我怎样才能改变我刚才描述的内容以使其发挥作用?

亲切的问候

0 投票
1 回答
3772 浏览

ruby-on-rails - Rspec 请求规范期间 Rails 4 中的循环依赖错误

我有一个在 Rails 4 / Ruby 2 上运行的应用程序。前端正在使用 Ember 开发。

运行时rake spec,我收到以下异常。它似乎只发生在 Rspec 功能规范中(而不是在开发模式下)。此外,它通常仅在我只运行一个功能规范时才会发生;如果我运行整个测试套件,我通常不会得到错误。

由于对 Rails 的此提交而发生错误: https ://github.com/rails/rails/commit/b33700f5580b4cd85379a1dc60fa341ac4d8deb2

但是,当然,我不知道这是否是真正的问题,或者它是否是调用堆栈中更深的问题。我确实知道,如果我对 Rails 代码进行最小的更改以不引发该错误,那么一切似乎都可以正常工作并且我的测试通过了。但是,某处的某些东西似乎正在尝试加载 LocationsController,即使它已经加载了。

非常感谢任何帮助,因为这个帮助我真的很难过。

路线.rb:

相关宝石:

我试过的:

  • 更改我的路线的名称和路径,认为 ember /locations 可能会发生冲突。
  • 更改了许多我认为可能相关的不同 Rails 选项。实际上,如果我在 test.rb 环境文件中将 config.cache_classes 设置为 false,它可以解决问题,尽管代价是使规范运行速度慢了大约 5 倍。

这是我正在运行的规范:

0 投票
1 回答
926 浏览

ember.js - handlebar precompile version error in Ember rc5

I'm upgrading to Ember rc5 from rc3, but I'm getting the following error:

Uncaught Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (>= 1.0.0-rc.4) or downgrade your runtime to an older version (== 1.0.0-rc.3)

Here are the relevant lines in my gemfile, taken straight from the ember-rails README (except pulling the gem from git... it gives the same error whether I include that or not)

I'm using rails 3.2

I know this problem has come up before, but none of the solutions I've found have made a difference. Things that haven't worked:

  • deleting precompiled assets
  • rake tmp:clear
  • making sure my javascrcipt load order is jquery, then handlebars, then ember
  • restarting the server
  • threatening the compiler
  • giving up hope and watching Buffy reruns
  • trying all of those in conjunction, in every imaginable order

Simple and definitive answers are best, of course, but I'd also be glad for hints on what I can study to figure this out on my own. I don't know where to start.