Я создаю рекламную систему, в которой пользователи могут динамически создавать «поля» для каждого типа объявлений.
Мои модели и примеры значений:
AdType:
| id | name
|----|-----
| 1 | Hotel
| 2 | Apartment
AdOption:
| id | ad_type_id | name
|----|------------|-----
| 1 | 1 | Star rating
| 2 | 1 | Breakfast included?
| 3 | 2 | Number of rooms
AdValue: (Example after saving)
| id | ad_id | ad_option_id | value
|----|-------|---------------|------
| 1 | 1 | 1 (stars) | 5
| 2 | 1 | 2 (breakfast) | true
Ad: (Example after saving)
| id | description | etc....
|----|-----------------|--------
| 1 | very nice hotel | .......
Допустим, я хочу создать новое объявление, и я выбрал Отель в качестве типа объявления.
Затем мне нужно мое представление для динамического создания полей, как это: (я предполагаю?)
[Label] Star rating:
[hidden_field :ad_id] [hidden_field :ad_option_id] [text_field :value]
[Label] Breakfast included?
[hidden_field :ad_id] [hidden_field :ad_option_id] [text_field :value]
А также, как сохранить значения при сохранении записи объявления
Надеюсь, это понятно. Если нет, просто спросите, и я постараюсь уточнить.