Форма для встраивания массива объектов в ember
Я новичок в Ember JS и даже JS в целом. Мое приложение имеет объект поля, который может иметь один из двух типов: либо произвольный текстовый ввод, либо список параметров для выбора. В своей форме я пытаюсь сделать так, чтобы при типе "Выбрать меню" всплывал набор дополнительных полей ввода, которые можно использовать для определения параметров выбора. Мне нужно, чтобы эта вторая внутренняя форма была динамичной, чтобы она могла принимать 2, 3, 10 или сколько угодно вариантов выбора.
Моя первоначальная мысль о том, как сделать это, была с частичным, который будет представлен в зависимости от типа.
Как мне сделать форму для встроенных опций? Как мне сделать так, чтобы пользователь мог ввести столько опций, сколько он хочет?
App.Field = DS.Model.extend Ember.Validations.Mixin,
title: DS.attr 'string'
type: DS.attr 'string'
select_options: DS.hasMany 'select_option', {embedded: true}
validations:
title: presence: true
type: presence: true
-
App.SelectOption = DS.Model.extend Ember.Validations.Mixin,
title: DS.attr 'string'
validations:
title: presence: true
-
App.PmSetupFieldsNewController = Ember.ObjectController.extend
types: ['Text Entry', 'Select Menu']
actions:
submit: ->
@get('model').save().then(@onCreate.bind(@), @onFail.bind(@))
onCreate: ->
@transitionToRoute('pm.setup.fields.index')
onFail: ->
console.log 'failure'
isSelect: Ember.computed 'type', ->
@get('type') == 'Select Menu'
-
<div class="col-md-8">
<h4>Field</h4>
{{#form-for this wrapper="bootstrap-horizontal"}}
{{input title}}
{{#input type}}
{{label-field type class="control-label col-md-2"}}
<div class="col-md-6">
{{view Ember.Select content=types
value=type
classNames="form-control"
prompt="Select a Type"}}
{{#if view.showError}}
{{error-field status}}
{{/if}}
</div>
{{/input}}
{{#if isSelect }}
{{render "pm.setup.fields.selectOptions"}}
{{/if }}
<div class="form-group">
<div class="col-md-10 col-md-offset-2">
{{submit "Save changes" class="btn btn-primary"}}
</div>
</div>
{{/form-for}}
</div>
Я действительно понятия не имею, на что должен быть похож частичный selectOptions, который я представляю