Tag: ember.js

我的Rails路由应该与pushState Ember.js路由一起使用?

简而言之… 在构建Ember.js应用程序以持久化到Rails应用程序时,我应该如何处理Rails路由/视图? 我认为我只需要Rails来呈现application.html.erb布局,以便Ember.js应用程序初始化并处理路由/视图/模板。 细节: 具体来说,如果我访问localhost:3000 ,在我的Ember.js应用程序有机会初始化之前,Rails会在项目控制器上执行“索引”操作。 它会抱怨缺少索引模板。 我没有index.html.erb视图,因为我的Ember.js应用程序有一个视图/模板。 我应该为Rails应用程序创建空白视图吗? 我的Rails控制器操作应该返回一些东西以防止它呈现视图吗? 或者我希望构建正常的Rails视图以与Ember.js应用程序视图/模板一起使用? 如果我创建一个空白项目/ index.html.erb并访问localhost:3000 ,Rails将呈现它,Ember.js将从那时开始初始化并处理路由。 但是,如果我直接访问localhost:3000 / projects / new ,Rails会抱怨项目控制器中没有新操作。 我在Rails端的项目控制器上没有“新”操作,因为我不需要它。 我的Ember.js应用正在处理该视图/模板。 最后,我只是不确定在Rails应用程序旁边使用Ember.js的约定。 感谢您的帮助,并阅读此… 编辑: 我遗漏了我试图使用Ember.js路由器使用pushState历史记录的能力的细节。 这将留下非hashbang URL。 这就是为什么我在处理Rails竞争路由我的应用程序时遇到问题的原因之一。 Rails应用程序布局: Ember.js App: @DA = Em.Application.create name: ‘Design Archive’ VERSION: ‘0.1’ rootElement: ‘#design-archive’ ApplicationController: Em.Controller.extend() ApplicationView: Em.View.extend templateName: ‘application’ DA.initialize(DA.Router) 导轨路线: DesignArchive::Application.routes.draw do resources :clients, :only […]

关于emberjs中命名约定的困惑

也许有些人只知道答案,但我想了解以下内容: 假设您正在声明一个观点: App.FooView = Ember.View.extend({}); 现在,在App.Router引用此视图App.Router导致以下错误: router.get(‘applicationController’).connectOutlet(‘Foo’) 当我引用Foo时,控制台指出: Uncaught Error: assertion failed: The name you supplied Foo did not resolve to a controller FooController 我无法在解释args的文档中找到任何地方。 也许投降的人实际上可以为解决方案做出贡献。

Ember.js基于会话cookie的Rails和设计认证

我希望使用rails,devise和基于cookie的会话,使用我的Ember.js应用程序身份validation来满足3个目标。 如果他们没有登录,则重定向到#/sessions/new 。 始终在应用程序模板中显示当前用户的信息。 如果用户已登录并且他们直接转到#/some/route 。 应该在加载时加载当前用户。 我已经看过这些embercastvideo: 客户端身份validation第1部分和客户端身份validation第2部分 。 他们有点过时但很有帮助。 但还是不能完全解决。 任何人都有完整的Rails 4,Devise,Emberjs 1.0.0的例子? 最大的问题是有一个策略在页面加载时加载当前用户并在提交登录表单时设置当前用户。 现在这是我的策略: App.User = Em.Object.extend(); App.User.reopenClass({ current: function() { return Ember.$.getJSON(“/users/current”).then(function(data) { return data }) } }); App.ApplicationRoute = Ember.Route.extend({ model: function() { return App.User.current(); } }); App.SessionsNewController = Ember.ObjectController.extend({ actions: { save: function(data) { var self = this, data […]

Ember中父/子关系出错

我正在使用Ember 1.5,Ember-Data 1.0.0-beta.7和祖先gem。 我有一个parent和ancestors模型,但任何具有parent或ancestor模型条目都会得到这个奇怪的错误并失败。 错误: Ember Inspector ($E): Error: No model was found for ‘ancestor’ at new Error (native) at Error.Ember.Error (http://localhost:8080/assets/ember.js?body=1:911:19) at Ember.Object.extend.modelFor (http://localhost:8080/assets/ember-data.js?body=1:9808:33) at JSONSerializer.extend.extractSingle (http://localhost:8080/assets/ember-data.js?body=1:3021:28) at superWrapper [as extractSingle] (http://localhost:8080/assets/ember.js?body=1:1293:16) at Ember.Object.extend.extractFind (http://localhost:8080/assets/ember-data.js?body=1:2483:21) at Ember.Object.extend.extract (http://localhost:8080/assets/ember-data.js?body=1:2368:37) at http://localhost:8080/assets/ember-data.js?body=1:10340:34 at invokeCallback (http://localhost:8080/assets/ember.js?body=1:10014:19) at publish (http://localhost:8080/assets/ember.js?body=1:9684:9) VM6302:164 我已经注释掉了一堆代码,寻找我要求ancestor任何地方,但我找不到它。 下面是我目前正在使用的代码仍然抛出此错误。 #models/dream_symbol.js.coffee attr = DS.attr App.DreamSymbol […]

Rails RoutingError(没有路由匹配

我正在使用rails创建一个rest api,并使用ember数据从远程ember应用程序调用。 我在应该是GET请求时遇到此路由错误。 如何创建OPTIONS方法,我是否必须为每个资源执行此操作? 如果需要,我可以提供代码片段。

CORS – 不允许JSONP的跨域AJAX,允许在服务器上使用Origin

我在同一台服务器上有两个独立的应用程序,EmberJS试图对我的后端API进行跨域调用。 我设置了后端API以允许来自该特定来源的跨域请求。 但有没有办法避免在这样的设置中使用JSONP? $.ajax在发送之前阻止跨域请求。 如果没有,CORS有什么意义,我实现了哪些服务器端接受来自我的JS前端源的请求? 编辑 AJAX请求: $.ajax({ url: “api.lvh.me:3000/accounts/login”, data: cred, type: “POST”, xhrFields: { withCredentials: true }, success: function(response){ alert(‘succeeded!’); console.log(response); alert(response); }, failure: function(message){ alert(“failed”); console.log(message); alert(message); } });

如何在ember中链接到特定的rails API路由和服务器生成的内容?

我有一个混合的Ember / Rails应用程序,在API命名空间中有一个Rails路由来获取任何单个事件并将其转换为.ics文件以导入到用户的日历中( 这是一个问题 )。 Ember正在使用命令ember server –proxy http://localhost:3000 ,它将它连接到Rails服务器进程。 以下片段说明了我的设置: Rails routes.rb片段: namespace :api do # snip resources :events do # snip get ‘export_event_ical’, on: :member end end Rails events_controller.rb片段: def export_event_ical @event = Event.find(params[:id]) @calendar = Icalendar::Calendar.new ical_event = Icalendar::Event.new ical_event.dtstart = @event.start.strftime(“%Y%m%dT%H%M%S”) ical_event.dtend = @event.start.strftime(“%Y%m%dT%H%M%S”) ical_event.summary = @event.body.truncate(50) ical_event.description = @event.body # […]

Ember Engines通过ember-cli-rails在Rails引擎内部

我们有一个高模块化的rails5应用程序,它可以在多个存储库中的rails引擎中分离并集成为ruby gems。 现在我们想通过使用ember-cli-rails来介绍EmberJS。 主rails应用程序在frontend目录中包含主要的ember应用程序,而每个rails引擎在frontend目录中包含一个ember引擎(通过ember-engine )。 如何将模块的余烬引擎安装到主要的余烬引擎中?

可以在一个Rails应用程序中拥有多个ember.js应用程序吗?

我正在开发一个Ember应用程序,需要与另一个带有Rails后端的ember应用程序合并(使用ember-rails gem)。 是否可以通过Rails后端连接两个完全独立的ember应用程序? 会有一些共享资源(通过Rails)但是其他应用程序是非常不同的,能够使用一个Rails应用程序为它们提供服务而不是为每个Ember应用程序制作两个单独的Rails应用程序是理想的… 谢谢

Ember.js错误:使用ember-data保存记录时未找到’id’的模型

我正在Ember.js和Ruby on Rails开发简单的CRUD应用程序 版本: DEBUG: Ember : 1.6.0-beta.3 ember.js?body=1:3917 DEBUG: Ember Data : 1.0.0-beta.7+canary.f482da04 ember.js?body=1:3917 DEBUG: Handlebars : 1.3.0 ember.js?body=1:3917 DEBUG: jQuery : 1.11.0 Ruby on Rails 4.0.3 我使用Railscasts教程相当不错,但有些东西已经发生了很大变化(例如ember-data)。 Railscasts Ember教程github源代码 – 当我保存记录时,它会抛出2个exception: Error: No model was found for ‘id’ at new Error (native) at Error.EmberError (http://localhost:3000/assets/ember.js?body=1:2979:23) at Ember.Object.extend.modelFor (http://localhost:3000/assets/ember-data.js?body=1:9806:33) at JSONSerializer.extend.extractSingle (http://localhost:3000/assets/ember-data.js?body=1:3019:28) at apply […]