Rails 3 Nester_Form Gem: Как мне настроить шаблон? - PullRequest
0 голосов
/ 05 октября 2011

Я использую рельсы 3 gem nested_forms и хотел бы изменить способ генерации чертежа по умолчанию для вставки. Я не могу понять, откуда / откуда взялся этот код и как / где я мог бы добавить код для его изменения.

В настоящее время я использую частичное для моей формы:

/ приложение / просмотров / ЕД / _unit.html.haml

%tr
  %td=f.text_field :units 
  %td=f.text_field :dispatched
  %td=f.text_field :onscene
  %td=f.text_area  :actions

Фрагмент кода, который вызывает частичное:

/ приложение / соперничает / отчеты / _form.html.haml

...    
%table.units
  %th Unit
  %th Dispatched%th On Scene
  %th Actions
=f.fields_for :units

%p= f.link_to_add "Add a unit", :units
...

У меня все основные функции работают, кроме шаблона. Это автоматически создается во время выполнения драгоценным камнем. Этот шаблон приводит к очень простой разметке HTML, используемой для шаблона.

Что похоже на следующее:

<div id="units_fields_blueprint" style="display:none">
  <p class="fields">
    <input id="report_units_attributes_new_units_unit" name="report[units_attributes][new_units][unit]" size="30" type="text">
    <input id="report_units_attributes_new_units_dispatched_1i" name="report[units_attributes][new_units][dispatched(1i)]" type="hidden" value="2011">
    ...
  </p>
</div>

Мне бы хотелось, чтобы план имел частичный табличный формат, я просто не знаю, как туда добраться.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 10 октября 2011

Часть, содержащая только строку таблицы, например, перечисленную выше, не будет действительной разметкой, если она помещена в раздел чертежа.

Следующий код не является допустимой разметкой.

<div>
  <tr>
    <td>Content</td>
  </tr>
</div>

Некоторые браузеры (например, chrome) будут пытаться исправить эту некорректную разметку, что делается путем удаления разметки tr и td.

Чтобы заставить этот тип кода работать с nested_form, было бы сложно требовать, чтобы проект создавался в строке javascript, и потребовалась бы модификация для компоновщика, чтобы остановить автоматическое окружение вставленного кода в блоке кода.

Эти изменения рассматриваются в выпуске № 73 для nested_form , который ссылается на ветку, созданную пользователем github elmatou.

Еще одна возможность получить похожий вид -использовать div и span и создавать сеточную структуру с использованием CSS.Это интенсивный CSS-процесс, но он позволяет использовать nested_form без изменения.

...