0

ユーザー リソースの操作は、すべてのアプリケーションの重要な部分であるため、可能な限り自動化する必要があるタスクがあります。Emberに関しては、デバイス ベースの認証システムと通信する方法を説明するチュートリアルhttps://github.com/heartsentwined/ember-auth-rails-demo/wikiを見つけました。そして、うわー、それはボイラープレートの地獄です:) Rails4の新しいデバイスで何かが変わったのですか、それとも同じですか?

4

1 に答える 1

2

ember-authここで開発。


Google 社員向けの編集/更新: 、、およびrails 4を使用してアプリを作成しました。次の 2 つの落とし穴を除けば、すべて正常に動作しています。deviseemberember-auth

  1. devise >= 3.1 tokenAuthenticatableモジュールを取り外しました。だから私は my で宣言しますGemfile

    gem 'devise', '>= 3.0', '< 3.1' 
    
  2. ember-dataからjson-apiに向かって漂流しています。問題は、それ自体が安定していないことです。すばやく簡単に修正するには、規則に従って、に置き換えます。それは「うまくいく」はずです。ActiveModelSerializersjson-apiDS.RESTAdapterDS.ActiveModelAdapterActiveModelSerializers

だから、ええ、それ自体でBCを壊すものは何もないので、ember-authサポートします。rails4


(前の回答:)

私は の経験はありませんrails 4が、それ自体は、または実際には/特にember-auth依存していません。唯一の期待は、サーバーが公開する一連の API です。[1] ドキュメントは、サーバー API からの期待を説明しています。rails 3railsdevise

Rails をバックエンドとして使用する場合は、ember-dataサポート (および準拠) を明示的に宣言します。これにより、モデルからの応答active_model_seriailzersを大量に生成するための便利なメソッドが提供されます。ただし、認証アクションは「標準」の完全なモデル応答に準拠していないため、チュートリアル自体が予想される応答を手作りしています。例:jsonrailsRESTember-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

したがって、互換性のために、必要に応じて、互換性、変更、および一般的なその他の gem の互換性rails 4についてさらに調査します。については、ドキュメントで概説されているように、予想される応答を引き続き手作りします。deviseActiveRecordember-auth

[1]: この予想でさえ、customized と書くことでカスタマイズ可能adaptersです。高度な使用法ですが、必要に応じてこれについて詳しく説明できます。

于 2013-06-10T14:00:02.453 に答える