Хэмл ломается. Незаконная вложенность: контент не может быть указан в одной строке

66
4

Я все еще не понимаю, почему это ломается:

.form-box
%h3 Restrictions
%legend Restricted Locations
= form_for [:blueadmin, :wine, @wine], html: {class: 'form-horizontal col-lg-2'} do |f|
%fieldset.inputs
.control-group
= f.label :us_states, "US States", class: 'control-label'
.controls
= f.collection_select :product, Restriction.all, :us_state, :us_state, {}, :multiple => 'true'
%fieldset
%ol
%li.button
= f.submit "Submit", class: 'btn btn-primary'
%table.table.table-hover.table-condensed.story-list
%th State
%th Remove

Ошибка, которую я получаю: Illegal nesting: content can't be both given on the same line as %legend and nested within it.

= form_for кажется виновником

Я понимаю, что Restricted Location находится на той же строке, что и% legend... но это то, что я вижу в документах.

Это работает, хотя, но это закручивает мою границу с легендой:

  .form-box
%h3 Restrictions
%legend
Restricted Locations
= form_for [:blueadmin, :wine, @wine], html: {class: 'form-horizontal col-lg-2'} do |f|
%fieldset.inputs
.control-group
= f.label :us_states, "US States", class: 'control-label'
.controls
= f.collection_select :product, Restriction.all, :us_state, :us_state, {}, :multiple => 'true'
%fieldset
%ol
%li.button
= f.submit "Submit", class: 'btn btn-primary'
%table.table.table-hover.table-condensed.story-list
%th State
%th Remove

Это выглядит так:

enter image description here

вместо этого: enter image description here

(обратите внимание, как тонкая линия находится в другом месте)

Наконец, как мне получить таблицу внизу, чтобы она отображалась справа от формы, а не внизу? Как использовать столбцы для этого?

спросил(а) 2017-06-06T22:04:00+03:00 3 года, 1 месяц назад
1
Решение
54

у вас есть форма для вложенности внутри элемента легенды.

 .form-box
%h3 Restrictions
%legend
Restricted Locations
= form_for [:blueadmin, :wine, @wine], html: {class: 'form-horizontal col-lg-2'} do |f|
%fieldset.inputs
.control-group
= f.label :us_states, "US States", class: 'control-label'
.controls
= f.collection_select :product, Restriction.all, :us_state, :us_state, {}, :multiple => 'true'
%fieldset
%ol
%li.button
= f.submit "Submit", class: 'btn btn-primary'
%table.table.table-hover.table-condensed.story-list
%th State
%th Remove

ответил(а) 2017-06-06T22:10:00+03:00 3 года, 1 месяц назад
39

Вам нужно переместить форму из тэга %legend.

Измените код:

.form-box
%h3 Restrictions
%legend
Restricted Locations
= form_for [:blueadmin, :wine, @wine], html: {class: 'form-horizontal col-lg-2'} do |f|
%fieldset.inputs
.control-group
= f.label :us_states, "US States", class: 'control-label'
.controls
= f.collection_select :product, Restriction.all, :us_state, :us_state, {}, :multiple => 'true'
%fieldset
%ol
%li.button
= f.submit "Submit", class: 'btn btn-primary'
%table.table.table-hover.table-condensed.story-list
%th State
%th Remove

Используйте встроенный контент, только если у вас есть один элемент для гнезда. В вашем случае вы пытаетесь вставить текст с Restricted Locations а также form

Примечание. HAML работает с отступом, поэтому любые изменения в отступе приводят к разному html-коду или синтаксической ошибке

ответил(а) 2017-06-06T22:17:00+03:00 3 года, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема