Как мне создать вложенный ввод formtastic без набора полей? - PullRequest
8 голосов
/ 12 октября 2011

У меня есть таблица User, которая наследуется от таблицы с именем Person

Короче говоря, вместо того, чтобы делать следующее:

f.inputs 'Something' do
  f.inputs for: :person do |f|
    f.input :name
    f.input :surname
  end
  f.input :account
end

Это генерирует fieldset внутри ol, что само по себе неверно, но меня это не беспокоит. Я хочу избавиться от fieldset, чтобы все атрибуты отображались на одном уровне.

f.inputs 'Something' do
  f.input :name, for: :person
  f.input :surname, for: :person
  f.input :account
end

Конечно, это недопустимо, во входе нет такого понятия, как:

Я думал об использовании делегата, но потом я подумал, что у меня также много accepts_nested_attributes_for в модели Person, и они сломаются.

Также таблица Person наследуется другой моделью.

Есть какой-нибудь драгоценный камень, который прозрачирует это и позволяет мне просто наследовать модель?

1 Ответ

6 голосов
/ 02 ноября 2013

Используйте semantic_fields_for вместо inputs:

f.inputs 'Something' do
  f.semantic_fields_for :person do |p|
    p.input :name
    p.input :surname
  end
  f.input :account
end
...