0

게시물에는 많은 태그가 있고 태그에는 게시물이 많이 있습니다. Rails에서 일반적으로 두 모델을 결합하기 위해 Post_Tags 모델과 마이그레이션을 만들어야합니다.ActiveModelSerializer/EmberJS. 다 대 다 관계. Rails 백엔드에서 조인 모델이 필요합니까?

EmberJS 프런트 엔드를 사용하면 직렬 변환기를 수행하는 방법과 Post_Tags 모델이 필요한지 잘 모르겠습니다. 엠버의

모델 :

// app/models/post.js 
export default DS.Model.extend({ 
    heading: DS.attr('string'), 
    content: DS.attr(''), 
    fullImageUrl: DS.string('author'), 
    thumbnailUrl: DS.attr('string'), 
    pageId: DS.belongsTo('page'), 
    tagIds: DS.hasMany('tag') 
}); 

// app/models/tag.js 
export default DS.Model.extend({ 
    name: DS.attr('string'), 
    postIds: DS.hasMany('post') 
}); 

는 ActiveModelAdapter와 예상 JSON이 있어야한다 : 포스트와 belongs_to :

"posts": [{ 
    "id": 1, 
    "heading": "foo", 
    "content": , 
    "full_image_url": "foo", 
    "thumbnail_url": "foo", 
    "page_id": <page id>, 
    "tag_ids": [<tag ids>] }], 
"tags": [{ 
    "id": 1, 
    "name": "foo", 
    "post_ids": [<post ids>] 
}] 

나는 여전히 Post_Tags의 belongs_to 모델이 필요하십니까 태그를? Post_Tags 시리얼 라이저가 필요합니까? 아니면 그냥 has_many : Tag serializer에 게시물을 게시하고 그 반대이면 충분합니까?

답변

1

저는 ActiveModel을 한번도 사용하지 않았습니다. 따라서 Ember-Data 관점에서만 말하면, 에는 조인 모델이 필요하지 않습니다. Ember-Data는 게시 한 모델을 사용하여 원하는 방식으로 JSON을 형식화 할 수 있어야합니다. ActiveModelSerializer API page에서 몇 가지 예를 볼 수 있습니다.

편집 : 레일스 측면에서는 조인 모델이 필요하지 않습니다. 앞서 말했듯이 ActiveModel을 사용한 적은 한번도 없었지만 this article은이 상황에서 조인 모델이 필요 없다고합니다.

+0

내가 궁금한 점은 레일스 모델에 조인 모델이 필요합니까? – supahken

+0

그에 대한 답이 업데이트되었습니다. – GJK

+0

감사합니다. 시험해 보겠습니다. – supahken