formtastic семантическая форма макета вопрос - PullRequest
1 голос
/ 04 апреля 2011

В formtastic при создании семантической формы макет атрибутов объекта всегда перечисляется по вертикали (одна метка атрибута и значение занимают одну строку) по умолчанию.

Как настроить макет так, чтобы часть атрибутов могла находиться в horizental позиции.Например, я хотел бы, чтобы атрибут "body" находился на правой стороне в title.Как это сделать?

<% semantic_form_for @post do |form| %>
    <% form.inputs do %>
      <%= form.input :title %>
      <%= form.input :body %>
      <%= form.input :section, :as => :radio %>
      ...

Ответы [ 3 ]

1 голос
/ 06 апреля 2011

Formtastic предоставляет множество хуков HTML class и id на оболочке <li> и в других местах, так что вы можете по-разному стилизовать различные типы входных данных (например, li.string) или определенные входные данные(например, li#user_email_input).

Вы можете, как и другие упомянутые ответы, добавить дополнительные классы в оболочку с помощью :wrapper_html => { :class => 'whatever' }, чтобы дать себе новые возможности, когда описанные выше варианты не подходят.

Отсюда, это просто проблема стиля / CSS.Вы, вероятно, захотите плавать обертки <li> друг против друга с помощью float:left;, а затем очистить поплавки на содержащем <ol> с помощью overflow:auto; или любой другой метод очистки по вашему выбору.

0 голосов
/ 04 апреля 2011

Вам просто нужно изменить CSS.Однако я предлагаю вам просто создать элементы формы самостоятельно, если вам нужна настройка макета для определенных атрибутов.

0 голосов
/ 04 апреля 2011

Вы можете использовать CSS для выполнения этой задачи:

<%= form.input :title, :wrapper_html => {:class => "left"} %>

Затем в вашей таблице стилей:

.left
{
  float: left;
  /* etc. */
}

Это будет стилизовать контейнер элемента формы (по умолчанию li)

...