在Ember.js/Rails/Devise应用程序中处理用户注册

wha*_*ter 5 ruby-on-rails devise ember.js

我正在玩Rails 4上的纯Ember.js应用程序,我很困惑如何处理用户管理.我最初的想法是使用纯服务器呈现模板(ERB)来进行用户注册并通过Devise登录,然后应用程序的其余部分将使用Ember框架.

问题在于Ember想要接管<body>标签并控制整个视口.通过这种方式,我无法选择应用程序的哪些方面应该使用服务器呈现的Erb模板,哪些方面应该存在于Ember逻辑中.

我看到很多关于如何处理已经登录的用户和ember-auth看起来很有趣以促进身份验证感知控制器的示例,但我没有看到关于允许完整用户注册体验的教程或建议Ember应用程序.

我是否遗漏了某些东西,无论是从技术角度来看,我还没有找到正确的代码,或者从架构角度来看,我不应该这样做?

这是使用ember-rails(0.12.0 w/1.0.0.rc3.3 ember-source),Rails 4.0.0.rc1和Devise(rails4分支).

小智 6

ember-auth 开发这里.

您实际上并不需要对用户注册进行任何特殊处理.像对待其他模型一样对待用户注册,因为创建user模型不需要身份验证.(编辑或删除它应该要求身份验证.)

您的实现可能如下所示:

App.User = DS.Model.extend
  email: DS.attr 'string'
  password: DS.attr 'string'

App.UsersNewRoute = Em.Route.extend
  model: ->
    App.User.createRecord()

App.UsersNewController = Em.ObjectController.extend 
  create: ->
    @store.commit()
Run Code Online (Sandbox Code Playgroud)

为简洁起见,跳过错误检查,模板代码等.