Множественные ассоциации ownTo с Batman.js

Я просто хотел проверить, что нет ничего плохого в том, что модель имеет 2 принадлежности к:

@belongsTo 'claim'
@belongsTo 'buyer'

Я спрашиваю, потому что у меня есть это, и сохранение не создает json, который должен:

create: =>
    alert @claim
    CT.Buyer.find $("#buyer_id").val(), (err, buyer) =>
        @bid.set 'claim', @claim
        @bid.set 'buyer', buyer
        @bid.save()

    return false

alert @claim ясно показывает мне, что @claim является правильным и содержит утверждение, которое я ожидаю. Но json, отправленный при вызове save(), выглядит так:

{buyer_id:52c86c74-2425-11e1-8b23-0021cc5da1e1, amount:123}

Он не отправляет claim_id по какой-то причине.


person Tristan Sloughter    schedule 16.12.2011    source источник


Ответы (2)


Вполне нормально иметь несколько ассоциаций в модели. Вы уверены, что покупатель, которого вы пытаетесь найти, существует? Вы всегда должны обрабатывать err внутри find обратных вызовов.

person ktusznio    schedule 20.12.2011

Вы encode используете claim_id в коде своей модели? Batman.Model не будет отправлять значения в формате JSON, если вы не используете encode. Например:

class App.Bid extends Batman.Model
  @belongsTo 'claim'
  @belongsTo 'buyer'
  @encode 'claim_id', 'buyer_id'

Вы также можете использовать опцию encodeForegnKey:

class App.Bid extends Batman.Model
  @belongsTo 'claim', encodeForeignKey: true
  @belongsTo 'buyer', encodeForeignKey: true
person rmosolgo    schedule 19.11.2013