Зарегистрируйтесь, чтобы продолжить обучение

Nested Forms Ruby: Реальный Rails

Программа урока

  • Active Record Nested Attributes
  • Концепция вложенных форм
  • Создание вложенных форм с Cocoon
form_for @user do |f|
  # вложенная форма
  = f.simple_fields_for :posts do |posts_form|
    = posts_form.input :title
  end
end

Рендер вложенной формы с передачей формы в шаблон

form_for @user do |f|
  # вложенная форма
  = f.simple_fields_for :posts do |posts_form|
  = render 'posts_field', posts_form: posts_form
  end
end
class Project < ActiveRecord::Base
  has_many :tasks, inverse_of: :project, dependent: :destroy
  accepts_nested_attributes_for :tasks, reject_if: :all_blank, allow_destroy: true
end

class Task < ActiveRecord::Base
  belongs_to :project
end
= simple_form_for @project do |f|
  = f.input :name
  = f.input :description
  %h3 Tasks
  #tasks
    = f.simple_fields_for :tasks do |task|
      = render 'task_fields', f: task
    .links
    # Нажатие по ссылке будет подгружать на страницу новые поля
      = link_to_add_association t('.add_task'), f, :tasks
  = f.submit

Внутри _task_fields.slim

.nested-fields
  = f.input :description
  = f.input :done, as: :boolean
  # Нажатие по ссылке будет удалять поля
  = link_to_remove_association t('.remove_task'), f

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Изображение Тото

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