using html5 custom data attribute to pass current page id to jquery

Hesham E committed Sep 14, 2010
commit c3faa588203779336ab07c314a8034782c09787b
Showing 2 changed files with 2 additions and 8 deletions
app/views/cms_admin/pages/_form.html.erb +1 -7
@@ @@ -1,10 +1,4 @@
- <% content_for :head do %>
- <script type="text/javascript" charset="utf-8">
- var cms_page_id = <%= @cms_page.new_record?? 0 : @cms_page.id %>;
- </script>
- <% end %>
-
- <%= form.select :cms_layout_id, CmsLayout.options_for_select, {} %>
+ <%= form.select :cms_layout_id, CmsLayout.options_for_select, {}, 'data-page-id' => @cms_page.id.to_i %>
<%= form.text_field :label, :id => 'slugify' %>
<%= form.text_field :slug, :id => 'slug' %>
public/javascripts/cms/cms.js +1 -1
@@ @@ -31,7 +31,7 @@ $.CMS = function(){
// Load Page Blocks on layout change
$('select#cms_page_cms_layout_id').bind('change.cms', function() {
- $.ajax({url: ['/cms-admin/pages', cms_page_id, 'form_blocks'].join('/'), data: ({ layout_id: $(this).val()})})
+ $.ajax({url: ['/cms-admin/pages', $(this).attr('data-page-id'), 'form_blocks'].join('/'), data: ({ layout_id: $(this).val()})})
})
}); // End $(document).ready()