Meteor - автоматическое объединение полей даты и времени после отправки

Я использую автоформу для создания формы «событие». В событии у меня есть дата начала, время начала, дата окончания, время окончания. В базе данных я хочу хранить только «начало» и «конец», которые будут объединены датами и временем. Я могу сделать это вручную, но мне не повезло с автоформой. Как создать поля, которые не являются частью моей схемы, и отправить их с «документом» на мой крючок перед отправкой? Это лучший способ сделать это? Сейчас пробую следующее:

Схема:

   start:
      type: Date
      label: 'Start'
   end:
      type: Date
      label: 'End'

Шаблон:

template(name='eventsNew')
   +autoForm(collection='Events' id='insertEventForm' type='insert')
      fieldset
         legend Add an event
         +afQuickField(name='type')
         //- How do I output fields not in the schema and have them go to the form hooks? These output, but I can't get fields that are not part of the schema to work.
         +afQuickField(name='start')
         +afQuickField(name='end')
      button.btn.btn-primary(type='submit') Submit

Форма крючка:

AutoForm.hooks 
   insertEventForm:
      before:
         insert: (doc)->
            # Here is where I would think I could combine the times and dates
            # but I can't get them to come through.
            console.log doc
            doc

Я пробовал afFieldInputs для даты и времени, но они ничего не генерируют. Не уверен, что я делаю неправильно. Заранее спасибо за помощь.


person sturoid    schedule 28.02.2015    source источник


Ответы (1)


Параметры addHooks используются только тогда, когда вы хотите применить один и тот же хук более чем к 1 форме (array), в этом примере вы используете только 1 форму (insertEventForm), поэтому здесь будет работать простой hook.

Я не пью кофе, извините

Простой JS

AutoForm.hooks({
  insertEventForm:{
    before:{
     insert:function(doc){
        console.log(doc) //do more stuff here
       }
     }
  }
})
person Ethaan    schedule 28.02.2015
comment
Ааа приятно. Я изменю это в вопросе. Спасибо тебе за это. - person sturoid; 28.02.2015
comment
вы пробовали с doc.start = new date(); doc.end = "another date"? - person Ethaan; 28.02.2015
comment
Вы имеете в виду после того, как я отправлю форму? Я предполагаю, что первое, что мне нужно выяснить, это как сгенерировать поля startDate и startTime в форме, когда они не являются частью схемы, и передать эти даты в хук. Я действительно думаю, что это действительно моя главная проблема. - person sturoid; 28.02.2015
comment
почему бы не поместить их в настоящую форму, с опцией optional: true, а Лестер на дороге вставить их на крючок или что-то в этом роде - person Ethaan; 28.02.2015
comment
Кажется, это лучшее решение на данный момент. Спасибо за помощь. - person sturoid; 01.03.2015