В моем приложении пользователи могут зарегистрировать информацию о турнире. Если пользователь является платящим клиентом, он может заполнить дополнительную информацию, иначе поля для дополнительной информации будут недоступны (видимы, но отключены).
Я изложил это как два объекта: Tournament
и TournamentExtras
, где первый has_one :tournament_extras
и последний belongs_to :tournament
. Tournament
также accepts_nested_attributes_for :tournament_extras
.
Я бы хотел, чтобы это отображалось как единая форма. Поля в этих двух объектах связаны, то есть вы можете добавить дату начала (к Tournament
), но только платящие клиенты могут добавить дату окончания (к TournamentExtras
), но, поскольку два поля логически реализованы, они должны отображаться после друг друга в форме.
Как мне это сделать?
Я попытался открыть циклы form_for
и fields_for
друг с другом (перед добавлением каких-либо полей), надеясь, что я смогу добавить любое поле, где мне будет угодно. Это не сработало; очевидно, вы не можете ссылаться на объект формы в цикле полей (?).