问题标签 [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.
ember.js - 未捕获的类型错误:无法调用未定义的方法“地图”
我正在使用 ember-rails master 并创建了一个 ember bootstrap 项目。一切都是空的,并且在创建时保持原样,但我遇到了提到的类型错误。进入路由器时。命名空间是已知的,但路由器不是。有人见过这个吗?
为了完整起见,我将通过以下内容:
基础.js:
application.handlebars:
应用
应用程序.js
ruby-on-rails - 如何使用 ember-rails gem 为我的 HandlebarsJS 模板指定替代目录?
我有一个 Rails 应用程序,我在前端使用 Ember。我想将与 ember 相关的文件在目录结构中下移一级,但是当我这样做时,模板不再呈现。
在应用程序的普通工作版本中,我的目录结构是:
与:application.js
和: ember-app.js
一切正常。但是,我想将 ember-app 文件和所有 ember javascript 代码下移一级,当我这样做时,模板不会呈现。(部分应用程序使用 Ember,但不是整个应用程序,我正在尝试通过资产管道设置两条单独的路径。)
所需的结构是:
with:application.js(修订:'require ember-app'变成'require embro/ember-app')
(ember-app.js 未修订。)
正如我所说,移动后,屏幕上不会出现任何模板内容。屏幕上或控制台中没有错误,只是一个空的 ember 应用程序。
当我在控制台中检查 Ember.TEMPLATES 时,会列出所有预期的模板。此外,如果我将所需的内容放在适当的 rails 视图中的 x-handlebars 模板中,则内容会成功呈现,就像它使用原始目录结构一样。
例如,在apps/views/welcome/index.html....
......我们很高兴再去一次。
但是,如果我将 rails 视图留空,就像我对原始结构所做的那样,那就不行了。
想知道 ember-rails gem 是否需要将车把模板存在于 app/assets/javascripts/templates 中,以及是否有办法覆盖它。文档提到向应用程序配置块添加一个 templates_root 选项,我想知道这是否是关键。我玩了一会儿,还没有运气。
有任何想法吗?
更新:
恐怕我对 templates_root 选项没有任何运气。作为一个实验,我尝试构建一个新的、简单的 Rails 应用程序,并使用 ember-rails 引导生成器启动并运行它。一切都很好,但是如果我尝试简单地更改模板文件夹的名称(即 app/assets/javascripts/templates -> app/assets/javascripts/temple),并对 sprockets 包含和配置文件进行适当更改,我' m 得到相同的结果。
templates_root 选项是否有可能以某种方式损坏?
我正在使用 Ruby 1.9.3、Rails 3.2.11、ember-rails 0.10.0
任何指向我应该在 ember/ember-rails/handlebars 源代码中查看的位置的指针?已经开始四处闲逛了。
谢谢!
ruby-on-rails - 如何为所有 Ember.js 路由指定 URL“前缀”?
我正在将 Ember.js 集成到现有的 Rails 应用程序中。想首先使用 Ember 来执行单个控制器操作dashboard#index
。从那里,我计划将站点的其余部分集成到 ember 应用程序中,可能基于每个控制器。
但是我在管理 ember URL 时遇到了麻烦,因为我还没有准备好将 Rails 根路由的控制权交给 Ember。
例如,我希望以下路线由 rails 处理,不带 Ember:
尽管:
应该触发 Ember 应用程序。然后,会有各种 ember 仪表板路线,例如/dashboard/#/favorites
和dashboard/#/upcoming
我已经通过资产管道设置了备用 Rails 布局和路径,但我发现如果在prefix
诸如/dashboard/
.
有没有一种干净的方法来设置它?
谢谢
ember.js - ember js camelCase与snake_case中的正确模板名称约定
我正在使用 ember js 构建一个带有 rails 作为后端的应用程序(我正在使用 ember-rails gem),并且我正在努力使用正确的方法来命名我的车把模板。什么是正确的约定?例如:
/user_profiles/4/
我想我应该把我的模板放在正确的路线user_profiles/show.hbs
上?或者应该是userProfile/show.hbs
?
对于一个简单的模板也是如此,应该是user_menu.hbs
还是userMenu.hbs
(它们都为我工作)。但是,为了使用助手渲染它,我需要做:
正确使用我的 App.UserMenuController
那么我应该在每个地方都使用 camelCase 还是snake_case ?或两者兼有(camelCase 用于文件夹,snake_case 用于文件名)
有人可以帮助我理解它,因为在 ember 指南中,大多数都是简单的名称,比如posts
或comments
所以很难理解。
ruby-on-rails - ember-rails 和车把:一个视图不存在指定的模板名称,但所有其他视图都存在
我正在开发一个 ember-rails 应用程序,该应用程序通过 rails 管道预编译 Handlebars 资产。一切都通过 更新到最新版本bundle update
。
当我们加载索引时,ember 数据不会呈现到列表中,尽管 (app/views/gigs/index.html.erb):
因此,我检查了 ListGigsView,其中包含以下内容(app/assets/javascripts/app/views/gigs/list.js):
似乎 templateName 指向很好(这在 new.js 中很相似)。尽管如此,浏览器控制台(Google Chrome 版本 25.0.1364.172)仍然返回以下内容:
Uncaught Error: assertion failed: You specified the templateName app/templates/gigs/list for <App.ListGigsView:ember194>, but it did not exist.
这是 app/assets/javascripts/app/templates/gigs/list.handlebars 中的文件:
为什么模板不渲染?Ember.TEMPLATES
在控制台中运行会完整返回所有其他视图模板链接:
但不是为list
. 为什么那个模板擅离职守?
作为参考,我根据浏览器控制台运行以下命令:
Ember.VERSION:1.0.0-rc.1 ember.js:339 Handlebars.VERSION:1.0.0-rc.3 ember.js:339 jQuery.VERSION:1.9.1
-编辑:我刚刚发现在 index.html.erb 中包含对事件视图的 Handlebars 引用也会导致该模板消失:
为什么会这样?我该如何避免呢?
ember.js - 与 Ember、ember-data 和 Rails 的多对多关系
我在尝试使用 ember-data 和 rails 在 Ember.js 中保存多对多关系时遇到问题。该关联在 ember 方面工作正常,但是当我尝试提交事务时,它不会在提交到 rails 时包含新关联列表。任何帮助将不胜感激,我一直在努力寻找一个示例应用程序,该示例应用程序在 github 上执行如此简单的操作,但我似乎找不到。
这是我的 Ember 代码的简化版本:
编辑表格:
Rails 后端(使用继承的资源和活动模型序列化器 gem):
所以就像我说的,关联在 Ember 上运行良好,但 rails 似乎没有获得新的关联数据。当我在网络检查器中查看 XHR 选项卡时,我看到它只发送了这个:
请求负载 {"roster":{"created_at":"Thu, 21 Mar 2013 23:16:02 GMT","team_id":"1"}}
我返回 204 no content 错误,因为没有任何改变。
ember-data - 如何将 ember-rails 的 ember-data 版本升级到修订版 12?
我已将ember-rails更新为 master:
我想使用最新的ember-data修订版 (12),但每次我将应用程序的商店修订号更新为 12,即:
我看到以下错误消息:
...当我查看 DS.CURRENT_API_REVISION 时,它是 11:
有没有办法让 gem 加入修订版 12,或者我必须自己构建 ember-data 并覆盖包含的版本?
ruby-on-rails - ember.js 区别路由文件夹和 router.js 文件
我正在尝试通过 ember-rails gem 在 rails 和 ember.js 中创建一个项目。我做了一个rails generate ember:bootstrap
,我正在观察它在下面创建的树assets/javascripts
。
routes.js
我不明白我必须放在顶层文件中的东西和文件夹内的文件之间有什么区别/routes
。
ember.js - 升级到 Rails 4 后,Handlebars 资产未使用 ember-rails 编译
我在前端有一个带有 Ember 的 Rails 应用程序。今天,我升级到 Rails 4,唯一无法解决的问题是我的 Handlebars 模板没有被编译或包含为资产(在开发模式下)。我没有收到任何错误消息。
我生成了一个全新的 Rails 4 测试应用程序并安装了 Ember,它可以很好地处理 Handlebars 文件。测试应用程序中的所有宝石都存在于我的应用程序中。我尝试运行rake rails:upgrade
,但没有效果。我尝试修改 ember-rails 源以输出日志消息,并且测试应用程序和我的应用程序的消息和执行路径相同。
我像往常一样需要模板:
我尝试使用 ember-rails 0.11.1 和 Github master,但没有成功。
相关宝石版本:
- 模板都在 app/assets/javascripts/templates 中,并且都使用扩展名 .handlebars。虽然我也尝试过 .hbs 和 .js.hjs 。
从 Chrome 控制台:
Ember.TEMPLATES 对象 {}
我可以像这样从 Rails 命令行手动编译资产:
并且引擎已注册:
Rails.application.config.assets.paths 应该包含 app/assets/javascripts 文件夹。
对此的任何帮助将不胜感激,谢谢!