EmberデータとRailsを使用して機能を実装しており、問題が発生し続けています。コードに問題があるのか、EmberまたはEmberデータに問題があるのか、ドキュメントが不足しているために取得できないのかはわかりません。
どんな助けでも本当にありがたいです。
レール
複数のエントリを含むやることリストがあります。Railsでは、次のように設定されています。
class ToDo < ActiveRecord::Base
has_many :to_do_entries, dependent: :destroy
alias_method :entries, :to_do_entries
validates_presence_of :title
end
class ToDoEntry < ActiveRecord::Base
attr_accessible :completed_at, :is_deleted, :priority, :title
belongs_to :to_do
alias_method :parent, :to_do
validates_presence_of :to_do, :title
end
ルートはネストされたものとして設定されます。
resources :to_dos do
resources :to_do_entries do
end
end
したがって、終了URLは/ to_do /:to_do_id / to_do_entry /:to_do_entry_idになります。
active_model_serializers gemを使用しており、次のシリアライザーを設定しています。
class ToDoSerializer < ActiveModel::Serializer
attributes :id,
:title
has_many :to_do_entries, embed: :objects
end
class ToDoEntrySerializer < ActiveModel::Serializer
attributes :id,
:to_do_id,
:title,
:priority
has_one :to_do
end
残り火
EmberデータとRESTアダプターを使用しており、同等のモデルは次のように設定されています。
App.ToDo = DS.Model.extend({
title: DS.attr('string'),
entries: DS.hasMany('App.ToDoEntry', { embedded: true })
});
App.ToDoEntry = DS.Model.extend({
title: DS.attr('string'),
to_do_id: DS.attr('number'),
priority: DS.attr('number'),
todo: DS.belongsTo('App.ToDo')
});
問題
私の理解では、コンソールで以下を使用することにより、ToDoから直接エントリのリストにアクセスできるはずです。
> t = App.ToDo.find(21)
> e = t.get("entries")
これは機能しているように見えますが、クラスを返すだけで、デバッグして機能しているかどうかを確認する方法がわかりません。
私は2つの特定の質問があります:
コンソールを使用して関連付けをデバッグし、それらが正しく機能していることを確認するにはどうすればよいですか。
エントリを(親に埋め込むのではなく)個別にロードする場合、上記のようなネストされたルートを使用するにはどうすればよいですか?