Скрепка-как они создают метку времени, добавленную к имени файла?


Я использую скрепку для хранения изображений с помощью S3. Насколько я понимаю, Скрепка будет добавлять строку (метку времени) в конец изображения для целей кэширования. Вы знаете, какой метод они используют для создания строки? Мне нужно восстановить его с помощью .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

2 ответа:

Я заглянул в Rails source и это asset_id вычисляется в этой строке:

File.mtime(path).to_i.to_s 
Таким образом, это просто преобразование объекта Time в целое число. И ruby docs говорит, что это всего лишь количество секунд с момента начала эпохи.

Здесь приведен пример преобразования даты в js в тот же формат, что и в ruby to_i. Я проверил его, и он дает то же самое значение.

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