jpalardy (owner)

Revisions

gist: 217125 Download_button fork
public
Public Clone URL: git://gist.github.com/217125.git
Embed All Files: show embed
js templating #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# in the model
 
self.js_stub
  require 'ostruct'
  OpenStruct.new(:title => '$TITLE', :isbn => '$ISBN', :image_url => '$URL', :authors => '$AUTHORS', :published_on => '$PUBLISHED_ON', :pages => '$PAGES')
end
 
 
# in some helper
 
def render_javascript(name, locals=nil)
  escape_javascript render(:partial => name, :locals => locals).gsub(/\n\s*/, '')
end
 
 
# in the template
 
<% javascript_tag do -%>
  
  var TEMPLATES = {
    book_cover: function(book) {
                  return '<%= render_javascript 'books/book', :book => Book.js_stub %>'.
                    replace(/\$TITLE/g, book.title).
                    replace(/\$ISBN/g, book.isbn).
                    replace(/\$URL/g, book.image_url);
                }
  };
 
<% end -%>