Tag: ember.js

如何使用ember-rails gem为HandlebarsJS模板指定备用目录?

我有一个Rails应用程序,我在前端使用Ember。 我想将与ember相关的文件在目录结构中向下移动一级,但是当我这样做时,模板不再渲染。 在普通的,vanilla,应用程序的工作版本中,我的目录结构是: ./app/ assets/ javascripts application.js ember-app.js routes.js store.js models/ controllers/ routes/ templates/ views/ with:application.js //= require jquery //= require jquery_ujs //= require handlebars //= require ember //= require ember-data //= require_self //= require ember-app App = Ember.Application.create(); 和:ember-app.js //= require ./store //= require_tree ./models //= require_tree ./controllers //= require_tree ./views //= require_tree ./helpers […]

I18n在EmberJS(路由和一般)

EmberJS是否支持国际化应用程序的翻译路线? 或者它是否至少可以轻松扩展它以支持i18n路线? 有经验的人吗? 例如,路由字符串可以以某种方式从区域设置文件动态设置吗? 使用Ember和Rails路由也不会被指定两次就好了……是这样吗? 我是Ember的新手(目前正在评估js框架),但我一般认为Rails只能在Rails中指定非常基本的路由,其余的在Ember中? 那么重复不会太多? 想知道来自Rails的语言环境文件是否可用于查找路由转换。 作为一个更普遍的问题:Ember是否已经支持I18n?

具有嵌入式ID和侧载的Ember-Data和Active Model Serializer的has_many配置

我知道Ember-Data应该与设计的Active Model Serializer兼容,但它们似乎与序列化与嵌入式ID的has_many关系不合时宜。 例如,序列化器 class PostSerializer < ActiveModel::Serializer embed :ids has_many :comments end 生成JSON { “post”: { “comment_ids”: […] } } 但是Ember Data中的默认配置, App.Post = DS.Model.extend({ DS.hasMany(‘App.Comment’), }); App.Comment = DS.Model.extend(); 期望注释关联序列化为comments: […]没有_ids后缀(请参阅Ember.js指南的REST适配器部分的关系子部分 )。 我尝试了以下作为解决方法: class PostSerializer < ActiveModel::Serializer attribute :comments def comments object.comment_ids end end 它可以工作,但添加embed :ids, :include => true以便启用侧载现在什么都不做,因为AMS不知道它是一个关联。 编辑:我正在使用active_model_serializers (0.6.0) gem和Ember-Data修订版11

如何在Ember中与Rails进行通信

让我简要解释一下我的意思。 我正在编写一个使用Ember和Rails的应用程序。 每个员工都可以给其他同事一个工具。 他不知道有多少人收到了。 我只能知道我必须给予多少遗赠,以及我从其他人那里得到了多少。 但我真的不明白如何与Rails沟通。 如图片胜过千言万语,请看一下: kudos app http://wstaw.org/m/2013/03/25/kudos.png 当应用程序启动时,我加载指向/ users的用户列表。 当前用户位于/ currentuser。 当前用户的不同之处在于它有其他字段,如kudosReceived和kudosLeft。 让我们假设我想给乔添加一个工具。 我点击一个按钮,然后,什么? 假设当我去/ kudos / userid rails会发挥它的魔力。 它只是给乔增加了一个工具。 但我还想获得更新的当前用户数据(请记住,它位于/ currentuser)。 我该怎么发送? 我应该首先在控制器上使用CREATE或UPDATE方法吗? 如何获取当前用户的新数据? 在回调中? 或者我应该使用/ currentuser和GET。 但当? 这就是我现在所拥有的,但我完全不确定它是多么正确 // application.handlebars My Kudos {{#with controllers.current}} {{firstName}} {{lastName}} received: {{kudosReceived}} left: {{kudosLeft}} {{/with}} {{#each user in controllers.users}} {{user.firstName}} {{user.lastName}} (+) {{/each}} Sks.KudoController […]

Ember.js中的非crud rails操作

如何在Ember.js中使用我的rails控制器中的非crud操作? 即在我的控制器中我除了索引,显示,创建之外还有更多动作……就像一个makeMoreFun动作,我想在ember中使用它

如何从命令行运行QUnit测试?

我最近开始研究一个Rails应用程序,它已经有大量的QUnit测试用于测试ember。 我被指控使用CI设置应用程序(我决定使用CodeShip)。 我目前面临的问题是,运行qunit测试的唯一方法是转到http://localhost:3000/qunit 。 我需要设置一种从命令行运行测试的方法。 我已经做了大量的研究,并尝试过至少10种不同的解决方案,但没有成功。 目前我正在尝试使用茶匙,但我还没有设法让它起作用。 任何帮助将非常感激。 如果我需要发布有关设置的更多信息,请告诉我。

如何使用Ember Data&Rails在单个Ember.js表单中保留hasMany关联?

我在使用Ember.js,Ember Data和Rails确定使用单个表单保持hasMany关联的正确方法时遇到了麻烦。 客户有很多项目。 我有一个新的项目表单,有两个字段:项目名称和客户端名称。 http://cl.ly/image/3z0P0R3M1t2u 我试图将我的创建逻辑保留在Ember.js ClientsController和ProjectsController中 ,但我是否需要将其中一部分移动到我的ProjectsNewView上的提交操作中? 更新:我在发现此问题后更新了我的代码。 我越来越近了,但Rails ProjectsController仍然没有收到相关的client_id。 它不是控制器接收的参数的一部分。 我觉得我可能不是最好的方式。 楷模: 轨道 class Client true end class Project true validates :client, :presence => true end Ember.js App.Client = DS.Model.extend name: DS.attr(‘string’) projects: DS.hasMany(‘App.Project’, { embedded: true }) validate: -> if @get(‘name’) is null or @get(‘name’) is ” ‘Client requires a name.’ App.Project […]

emberjs和foundation4

我正在尝试使用现在使用zepto框架的emberjs和foundation 4,但是只要我将emberjs include添加到我的application.js中,基础代码就会停止工作。 包含的顺序有问题吗? //= require jquery //= require jquery-ui //= require jquery_ujs //= require events //= require foundation //= require rails.validations //= require rails //= require gmaps4rails/gmaps4rails.base //= require gmaps4rails/gmaps4rails.googlemaps //= require handlebars //= require ember //= require ember-data //= require teammngt //= require_self TeamMngt = Ember.Application.create(); $(document).foundation();

将base64图像转换为Carrierwave的StringIO

我希望有人能帮助我理解这一点。 我有一个图像的base64字符串: “data:image/jpeg;base64,/9j/4AAQSkZJRgABA…” 我想使用ember的createRecord和commit()发送它: this.get(‘store’).createRecord(Emb.Painting, {name: newName, image: newImage}); 然后我想将它转换为StringIO for carrierwave并保存它: StringIO.class_eval { def original_filename; “stringiohaxx.jpg”; end } io = StringIO.new(Base64.decode64(params[:painting][:image])) @painting = Painting.create(:name => params[:painting][:name], :image => io ) 图像已保存。 图像总是被破坏。 我是否需要将我的base64字符串分解为: data: ‘/9j/..’ type: ‘image/jpeg’ ? 任何帮助赞赏。

Ember-data和MongoDB,如何处理_id

我正在使用带有rails和MongoDB的ember-data,并且我在MongoDB中存储ID的方式存在问题 – 在_id字段中。 Ember-data将使用id作为ID的默认字段,所以我试图像这样覆盖它: App.User = DS.Model.extend primaryKey: “_id” name: DS.attr “string” image: DS.attr “string” 这似乎在大部分时间都有效,但在某些情况下我从ember说得到例外: 未捕获错误:断言失败:您的服务器返回带有密钥_id的哈希,但您没有映射 我怀疑这可能是ember-data中的一个错误,因为它仍处于开发阶段,但是我试图找到一种方法来将_id映射到服务器端的id中? 我正在使用mongoid来进行mongo映射。