@rundom1

Как использовать simple_form в rails?

Добрый день. Как сделать чтобы юзеры в rails могли сами генерировать формы для заполнения.
Если есть решение без этого гема, то тоже подходит.
  • Вопрос задан
  • 245 просмотров
Решения вопроса 1
c3gdlk
@c3gdlk
Ментор в http://rubyboost.ru/
simple_form это всего лишь хелпер, т.е функция которая генерирует HTML Она не умеет никакой логики.

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

1) Формируете правила формирования формы, какого типа поля на нее можно будет добавлять, какие значения доступны, валидации. Все эти правила удобнее всего хранить реляционной структурой

2) Когда Вам нужно вывести форму, нужно построить новый класс на основе ActiveModel::Model этот класс будет иметь все возможности модели Rails но не будет привязан к конкретной таблице с ее полями. Этот класс навешивает сам на себя валидации и прочую логику, исходя из пункта 1

3) Если база PostgreSQL то проще всего все значения сохранять в одно jsonb поле

В общем случае задача которую вы описали довольно сложная, пример кода не покажу потому что его очень много, он Вас скорее запутает. Попробуйте сначала подумать, может быть можно поменять задачу, не разрешать добавлять абсолютно любые поля, а просто выбирать из нескольких наборов полей. Тогда хорошо работает STI все с тем же jsonb полем и доступом через store
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы