使用用户资源是每个应用程序的重要组成部分,因此这是一项应该尽可能自动化的任务。至于 Ember,我找到了一个教程https://github.com/heartsentwined/ember-auth-rails-demo/wiki ,它描述了它如何与基于设计的身份验证系统进行通信。而且,哇,这简直是一个样板:) Rails4 的新设计是否发生了一些变化,或者事情是一样的?
1 回答
ember-auth
在这里开发。
为 googlers编辑/更新:我现在已经构建了一个rails 4
应用程序,带有devise
、ember
和ember-auth
. 除了以下两个问题外,一切正常。
devise
>= 3.1
移除了tokenAuthenticatable
模块。所以我会在我的声明中Gemfile
:gem 'devise', '>= 3.0', '< 3.1'
ember-data
正在远离ActiveModelSerializers
json - api。问题是,json-api
它本身甚至不稳定。快速简便的解决方法是替换DS.RESTAdapter
为DS.ActiveModelAdapter
,它遵循ActiveModelSerializers
约定。它应该“正常工作”。
所以,是的,ember-auth
确实支持rails4
,因为它本身并没有破坏 BC 。
(上一个答案:)
我没有经验rails 4
,但ember-auth
它本身并不依赖于rails 3
,或者实际上rails
/devise
特别是。唯一的期望是您的服务器公开的一组 API。[1] 文档描述了服务器 API 的期望。
至于使用 rails 作为后端,ember-data
明确声明支持(和遵守) ,这为从模型中生成响应active_model_seriailzers
提供了方便的方法。但是,由于身份验证操作不符合“标准”完整模型响应,因此教程本身会手工制作预期的响应。例子:json
rails
REST
ember-auth-rails-demo
def create
# ...
data = {
user_id: resource.id,
auth_token: resource.authentication_token,
}
if params[:remember]
resource.remember_me!
data[:remember_token] = remember_token(resource)
end
render json: data, status: 201
end
因此,为了rails 4
兼容性,我会根据需要对devise
兼容性、任何ActiveRecord
更改以及一般其他 gem 兼容性进行更多调查。至于ember-auth
,它仍将手工制作预期的响应,如文档中所述。
[1]:即使是这种期望也可以通过编写定制的adapters
. 高级用法,但如果需要,我可以详细说明。