AbstractModel has_many ImageModel

Redjik

Джедай-мастер
Ребята, сдаюсь =)
Пол дня голову ломаю, но так и не пришло в голову как реализовать.

Раньше делал так.
В новую запись нельзя было добавить изображения, только при редактировании... но это же не наши методы.
Хочется сразу - запись еще не создана, а мы уже аяксом подгрузили изображения.

Есть еще вариант сразу создавать новую запись, и выводить форму уже на редактирование...
Но это опять уродливый костыль.
 

Andkorol

Новичок
Добавление записей исключительно "последовательное" (напр. админ/модератор, по одной записи) – или возможно добавление нескольких записей "параллельно" (юзеры, бесконтрольно)?
 

Andkorol

Новичок
Юзер авторизован:
В самих записях загруженных фоток фиксировать ID юзера, который их загрузил – а потом привязывать их к новой записи этого юзера.
Юзер не авторизован:
Фиксировать юзеру в сессию/cookies ID загруженных фоток, и уже после создания им новой записи – связывать эти фотки с новой записью этого юзера.
 

Redjik

Джедай-мастер
Спасибо, а со стороны юзера то я даже и не подумал...
 

AmdY

Пью пиво
Команда форума
только на сервере логировать не забудь, чтобы потом чистить, если вдруг не сохранил запись.
 

fixxxer

К.О.
Партнер клуба
А я создаю записи с флагом temporary - заодно получается автосейв драфта ;)
 

Baton

Новичок
Делал нечто подобное.

Постеры добавлялись в таблицу постеров с флагом, что они временные. Клиенту возвращался postersID и path (путь к миниатюре). Отображалась миниатюра, а postersID накапливался в js, после окончания заполнения формы, на сервер отправлялись posters = [postersID,...], постеры переносились в место постоянной дислокации, флаг временности снимался. Таким образом привязка в моем случае происходила к postersID. postersID лучше делать случайной строкой, чтобы хулиган не мог с помощью простого увеличения порядковых номеров `забирать` чужие постеры.

Надо только про сборщик мусора не забыть. Чистить постеры с флагом временности более суток.
 

Redjik

Джедай-мастер
Ага, оно все хорошо, только есть еще одно условие...
И с ним вся картинка рушится...
В таблице есть поле position =)
Само собой порядок вывода изображений.
И он конечно же зависит от AbstractModel.

Поэтому, если делать поле temporary, то при одновременном добавлении получим дыры в position... вот сижу и думаю ... а и хер бы с ними, пока писал, все встало на свои места =)))
 
Сверху