Я обычно храню их в представлении ;здесь я расскажу вам о действительно интересном сценарии использования, который я нашел для jquery-tmpl
.
. Я использовал jquery-tmpl
на сайте, который из-за огромного количества запросов требовалТехника, которую я называю decontextualization
.Этот метод был реализован только для того, чтобы остаться в живых в часы пик, и он основан исключительно на следующих правилах:
- Никогда не прикасайтесь к серверу, чтобы восстановить страницу более одного раза;если абсолютно необходимо.
- Используйте JavaScript для предоставления состояния , кем является пользователь и какими привилегиями он обладает.
СИз этих двух правил вы можете заметить, что jquery-tmpl
с базовым количеством логики, которую он предоставил, был просто величественным для данного случая.По сути, я включил шаблоны jquery-tmpl
в документы, которые необходимо деконтекстуализировать.Все шаблоны были предоставлены самой страницей;поэтому я мог бы создать d18n
библиотеку JavaScript, которая могла бы выполнять следующие действия:
- Запросить действительно быстрый скрипт о текущем пользователе, вернуть данные в виде объекта JSON.
- Обойти JSONи включить шаблоны, представленные в документе на указанных селекторов.Пусть
jquery-tmpl
выполнит математику.
Всякий раз, когда нам нужно было изменить «tempalte», мы делали бы это так же, как если бы не было jquery-tmpl
: НА ПРОСМОТРЕ / ЧАСТИЧНО .
Вы бы посмотрели что-то вроде этого для "может ли пользователь редактировать пост?"template:
<script id="post-edit-button" type="text/x-jquery-tmpl">
{{if user_id == "<%= post.user.id %>" || role == "staff" || $.inArray(user_id, EDITORS) }}
<a href="<%= edit_post_url(post) %>">Edit</a>
{{/if}}
</script>
Надеюсь, мой опыт пригодится вам в какой-то степени.