Скрепка - Как они создают временную метку, добавленную к имени файла? - PullRequest
3 голосов
/ 29 декабря 2010

Я использую Paperclip для хранения изображений с помощью S3. Насколько я понимаю, Paperclip добавит строку (метку времени) в конец изображения для целей кэширования. Вы знаете, какой метод они используют для создания строки? Мне нужно восстановить его с помощью .js, вот почему:

Я получаю контент, используя jQuery $ .getJSON, анализирую данные ответов, создаю массив и добавляю его в DOM. С этим все отлично работает, но мне нужно добавить строку в конец имени файла.

Вот пример:

<img src="http://s3.amazonaws.com/some_bucket/some_image.jpg?1293603533" />

Хотя URL является примером, строка, добавленная к имени файла, является действительной. Вот другие данные на этом изображении.

image_file_size: 159713 
image_height: 415   
image_width: 900    
image_updated_at: 2010-12-29 06:18:53

Я думал, что это будет так же просто, как убрать все ":" и "-" из атрибута image_updated_at, но это не так просто. Это совершенно случайно? У кого-нибудь есть идеи по этому поводу? Буду признателен за руку!

Ответы [ 2 ]

3 голосов
/ 29 декабря 2010

Я посмотрел на Источник Rails , и это asset_id вычисляется в этой строке:

File.mtime(path).to_i.to_s 

Так что это просто преобразование Time объекта в целое число. И ruby ​​docs говорит, что это всего лишь количество секунд с начала эпохи.

Здесь - пример того, как преобразовать дату в js в тот же формат, что и в ruby ​​to_i. Я проверил это, и оно дает то же значение.

0 голосов
/ 06 апреля 2011

Еще лучше использовать image_updated_at.to_i - он также возвращает секунды с эпохи с дополнительным преимуществом не касаться файловой системы.

...