Надеюсь, что вы будете знать, как использовать коллекцию и модель одновременно в Магиотеке + Rails.Как использовать коллекцию и другую модель одновременно для шаблона типа списка в марионетке + рельсы
В настоящее время мой шаблон jst.eco имеет формат ниже.
<div class="">
<div class="col-sm-6 col-md-4">
<div class="form-group">
<h2 class="group_title" data-toggle="tooltip" data-placement="left" title="This is for first group checking of user">Group 1</h2>
<div class="clear"></div>
<div class="checkbox">
<label><input type="checkbox" name="group_1_1" value="" <%= @group_checker(@model1.group_1) %>>Lorem ipsum</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_1_2" value="" <%= @group_checker(@quotient) %>>Sit dolor amet</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_1_3" value="" <%= @group_checker(@quotient) %>>Consectetur odipisicing</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_1_4" value="" <%= @group_checker(@quotient) %>>Elit sed do ejusmod</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_1_5" value="" <%= @group_checker(@quotient) %>>Tempor incididunt ut labore</label>
</div>
</div>
<div class="form-group">
<h2 class="group_title" data-toggle="tooltip" data-placement="left" title="This is for 2nd group checking of user">Group 2</h2>
<div class="clear"></div>
<div class="checkbox">
<label><input type="checkbox" name="group_2_1" value="" <%= @group_checker(@model1.group_2) %>>Et dolore magna aliquo.</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_2_2" value="" <%= @group_checker(@quotient) %>>Ut enim ad minim veniam</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_2_3" value="" <%= @group_checker(@quotient) %>>Quis nostrud exercitation</label>
</div>
</div>
</div>
<div class="col-sm-6 col-md-4">
<div class="form-group">
<h2 class="group_title" data-toggle="tooltip" data-placement="left" title="This is for 3rd group checking of user">Group 3</h2>
<div class="clear"></div>
<div class="checkbox">
<label><input type="checkbox" name="group_3_1" value="" <%= @group_checker(@model1.group_3) %>>ut aliquip</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_3_2" value="" <%= @group_checker(@quotient) %>>ex ea commodo</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_3_3" value="" <%= @group_checker(@quotient) %>>consequat</label>
</div>
</div>
<div class="form-group">
<h2 class="group_title" data-toggle="tooltip" data-placement="left" title="This is for other group checking of user">Others</h2>
<div class="clear"></div>
<div class="checkbox">
<label><input type="checkbox" name="group_4_1" value="" <%= @group_checker(@model1.group_4) %>>Duis aute irure</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_4_2" value="" <%= @group_checker(@quotient) %>>dolor in reprehenderit</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_4_3" value="" <%= @group_checker(@quotient) %>>in voluptate</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_4_4" value="" <%= @group_checker(@quotient) %>>velit esse</label>
</div>
<div class="checkbox">
<label><input type="checkbox" name="group_4_5" value="" <%= @group_checker(@quotient) %>>cilium dol</label>
</div>
</div>
</div>
И мой взгляд, для этого шаблона ниже.
class Step1.Fields extends App.Views.ItemView
template: "wizard/edit_fields"
serializeData: ->
{
model1: @model.toJSON() # record model
model2: @options.model2.toJSON() # tabs collection planned
}
form:
focusFirstInput: false
templateHelpers: ->
{
group_checker: (value) ->
@quotient = Math.floor value/2
remainder = value % 2
return "checked" if remainder == 1
""
}
Результат этого шаблона выглядит следующим образом.
И я планировал заменить повторяющийся код, поэтому я создал коллекцию вкладок, которая содержит метки флажков, такие как «Lorem Ipsum», «Dolor сидеть Амет».
Формат модели вкладки представлен ниже.
group_id: 1, ID: 1, order_in_group: 1, название: "Lorem Ipsum"
А также есть запись модель, которая содержит информацию о группе, чтобы решить статус Флажки полностью.
Обратите внимание, что в нем содержится информация о группе как этот формат json.
1 группе => 25, group_2 => 30, group_3 => 35, group_4 => 27
Таким образом, коллекция вкладок загружают CheckBox отображения и записи модели лейблов несет ответственность CheckBox статусы ' задавать.
И обратите внимание, что по причине стиля это не просто повторение, но содержит разделение col-sm-x с 2 группами на столбец.
Итак, у меня настоящая дилемма.
Похоже, что это не приемлемо для CollectionView, поэтому я подумал об использовании CompositeView в Marionette, но я не мог себе представить, как обрабатывать коллекцию вкладок и модель записи одновременно, чтобы написать шаблон с тем же, что и предыдущий.
Пожалуйста, помогите мне !!!
Это кажется немного расплывчатым. Не могли бы вы дать мне пример кода или деталь, чтобы решить мою проблему? –
Мой ответ относится к особенностям проблемы, ваш код написан в том, что я считаю CoffeeScript или TypeScript, возможно? Я не использовал ни один из них раньше, поэтому я не могу ни на что написать пример или перевести свой код достаточно на мой ответ. Я ссылаюсь и выделяю точные свойства, которые нужно настроить, чтобы делать то, что вы хотите сделать. –