对不起,如果之前已经被问了一百万次,但我似乎无法在任何地方找到满意的答案.
我正在尝试构建一个把手帮助器连接到我的i18n库中,我需要它接受任意数量的命名参数,如下所示:
{{i18n yml.text.definition count=2 name="Alex" ... param="hello}}
Run Code Online (Sandbox Code Playgroud)
这将转换为这样的调用:
i18n.t("yml.text.definition", { count: 2, name: "Alex", ... param: "hello"})
Run Code Online (Sandbox Code Playgroud)
这可能吗,还是我完全离开了我的树?
在我的模型中使用Ember Data时,在某些情况下我需要解决数据限制并访问服务器上的其他准静态URL.
例如,我有一个Feed
记录数据流的对象.为了访问模型,我有一个RESTful端点:
/feeds/:feed_id
Run Code Online (Sandbox Code Playgroud)
为了开始和停止录制Feed,我需要发送PATCH
一个网址,如:
/feeds/:feed_id?update_action=start
Run Code Online (Sandbox Code Playgroud)
随后我可以重新加载我的模型并查看其中反映的变化.
在这种情况下,我需要访问$.ajax
,并且URL与Ember将使用的URL相同.但是,我无法弄清楚如何从Ember中获取这些信息.
到目前为止,我能做的最好的事情是:
DS.Model.reopen
rootForModel: Ember.computed( ->
@.store.adapterForType(@).serializer.rootForType(@.constructor)
)
pluralRootForModel: Ember.computed( ->
@.store.adapterForType(@).serializer.pluralize(@get("rootForModel"))
)
Run Code Online (Sandbox Code Playgroud)
这样App.FeedItem
我可以这样做:
this.get("rootForModel") # feed_item
this.get("pluralRootForModel") # feed_items
Run Code Online (Sandbox Code Playgroud)
而且我猜这将与适配器等中的任何设置保持同步.
随后,我可以这样打电话:
$.ajax
url: @get("pluralRootForModel") + "/" + @get("id")
data:
update_action: "start"
type: "PATCH"
Run Code Online (Sandbox Code Playgroud)
这完全是在左场吗?是否有更直接的方法来撰写这些网址?
另一个(相关问题)是获取给定模型的下划线名称.
App.MyModelController => my_model_controller
Run Code Online (Sandbox Code Playgroud)
我做过类似的事情:
Ember.Object.reopenClass
###*
* The underscored name for this.
* i.e. App.MyClass -> my_class
* From an instance, use this.constructor.underscored_class_name()
* @return {String} This classname, underscored. …
Run Code Online (Sandbox Code Playgroud) Ember&Rails在这里提出了一个严肃的问题.
我正在构建一个利用ember-rails设置的项目,如下所示:https://github.com/dgeb/ember_data_example
但是,为了使事情变得更加复杂,该项目旨在打包为一个宝石,以包含在更大的应用程序中.为此,我创建了一个可安装的引擎,包含一个用于测试的虚拟项目.
问题是,ember-rails,特别是把手无法在预定位置找到模板.这可以防止许多功能正常工作.
在移动把手模板目录方面,我在这里找到了一个解决方案:如何使用ember-rails gem为我的HandlebarsJS模板指定备用目录?
总之,它指出我们可以通过设置值来指定application.rb中模板的路径 config.handlebars.templates_root
但是,我认为如果需要将另一个 ember-rails引擎加载到更大的应用程序中,这将导致冲突..并且需要自己的配置设置.
有没有人有这些设置的经验,有没有办法让命名空间的ember应用程序在更大的上下文中运行良好?
顺便说一句,这是在ruby 1.9.2上运行最新ember-rails的rails 4.
在ember.js应用程序中,我们如何抛出应用程序错误(让它们在控制器 - 路径 - 应用程序层次结构中冒泡?)
我的用例与捕获非ember-data ajax错误并通过与ember数据错误相同的路径处理它们有关.
(即,当遇到来自非restful端点的错误时,允许该错误在应用程序中冒泡,类似于ember-data错误)