2016-04-03 13 views
0

私は単純なEmber 2.4アプリケーションを持っています。私はsaveInvitationアクションをトリガーするとここに関連するコードは私の、モデルからEmberパラメータを受け取っていないレール

../models/invitation.js

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    email: DS.attr('string') 
}); 

../controllers/index.js

import Ember from 'ember'; 

export default Ember.Controller.extend({ 

    emailAddress: '', 

    actions: { 
    saveInvitation() { 
     const email = this.get('emailAddress'); 

     const newInvitation = this.store.createRecord('invitation', { 
     email: email, 
     }); 
     newInvitation.save(); 
    } 
    } 
}); 

ですRailsバックエンドはパラメータを受け取りません。正しいアクション/コントローラは要求を受け取りますが、唯一のパラメータは{action: "create", controller: "invitations"}です。

何か不足していますか?パラメータには、電子メールによる招待状を含めるべきではありませんか?

答えて

2

デフォルトのEmberアダプタは、コンテンツタイプapplication/vdn.api+jsonを送信しますが、これはRailsによって自動的に登録されず、JSON引数を解析するようです。

これに対する修正は

api_mime_types = %W(
    application/vnd.api+json 
    text/x-json 
    application/json 
) 

Mime::Type.unregister :json 
Mime::Type.register 'application/json', :json, api_mime_types 

をconfigのレールの下に右のMIMEタイプを登録することでしたhttps://github.com/rails-api/active_model_serializers/issues/1027

0

を参照してください設定/初期化子/ json_adapter.rb

ActiveSupport.on_load(:action_controller) do 
require 'active_model_serializers/register_jsonapi_renderer' 
end 

に以下を追加します。このかもしれません助けてください

関連する問題