Я не пробовал это, но это просто пришло мне в голову как возможное решение:
На ваш взгляд создайте скрытый div, который содержит пример шаблона (я использую HAML здесь для краткости):
#tweet-prototype{:style => "display:none"}
= render :partial => Tweet.prototype
Ваш частичный твит может отображать твит, как вы делаете сейчас.
.tweet
.tweeter
= tweet.username
.status
= tweet.status
При создании прототипа твита вы устанавливаете нужные поля в синтаксис замены js-шаблона,может определенно высушить это, но я включаю его здесь полностью для примера.
# tweet.rb
def self.prototype
Tweet.new{:username => "${tweet.username}", :status => "${tweet.status}"}
end
На клиенте вы бы сделали что-то вроде:
var template = new Template($('#tweet-prototype').html());
template.evaluate(.. your tweet json..);
Последняя частьбудет зависеть от того, как вы будете создавать шаблоны, но это будет что-то вроде этого.
Как уже говорилось ранее, я не пробовал эту технику, и она не позволит вам делать такие вещи, как циклыили условное форматирование непосредственно в шаблоне, но я уверен, что вы можете обойти это с некоторой креативностью.
Это не так уж далеко от того, что вы хотите сделать с помощью изотопа, и во многих случаяхпути уступают, но этобезусловно, более простое решение.Лично мне нравится хамл, и я стараюсь писать как можно больше моих оценок, так что это будет лучшим решением для меня лично.
Надеюсь, это поможет!