Guest User

Untitled

a guest
Apr 23rd, 2018
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. # in the model
  2.  
  3. self.js_stub
  4. require 'ostruct'
  5. OpenStruct.new(:title => '$TITLE', :isbn => '$ISBN', :image_url => '$URL', :authors => '$AUTHORS', :published_on => '$PUBLISHED_ON', :pages => '$PAGES')
  6. end
  7.  
  8.  
  9. # in some helper
  10.  
  11. def render_javascript(name, locals=nil)
  12. escape_javascript render(:partial => name, :locals => locals).gsub(/\n\s*/, '')
  13. end
  14.  
  15.  
  16. # in the template
  17.  
  18. <% javascript_tag do -%>
  19.  
  20. var TEMPLATES = {
  21. book_cover: function(book) {
  22. return '<%= render_javascript 'books/book', :book => Book.js_stub %>'.
  23. replace(/\$TITLE/g, book.title).
  24. replace(/\$ISBN/g, book.isbn).
  25. replace(/\$URL/g, book.image_url);
  26. }
  27. };
  28.  
  29. <% end -%>
Add Comment
Please, Sign In to add comment