bumping active_link_to to v1.0.0, xhr responses won't render applicaion layout

Oleg committed Aug 05, 2011
commit 5b817a75d6ee21bd84da73980d5ba0cb5d12b6da
Showing 4 changed files with 12 additions and 3 deletions
Gemfile +1 -1
@@ @@ -1,7 +1,7 @@
source 'http://rubygems.org'
gem 'rails', '>=3.0.0'
- gem 'active_link_to', '>=0.0.10'
+ gem 'active_link_to', '>=1.0.0'
gem 'paperclip', '>=2.3.14'
group :development do
app/controllers/cms_content_controller.rb +1 -1
@@ @@ -7,7 +7,7 @@ class CmsContentController < ApplicationController
def render_html(status = 200)
if layout = @cms_page.layout
- app_layout = layout.app_layout.blank?? false : layout.app_layout
+ app_layout = (layout.app_layout.blank? || request.xhr?) ? false : layout.app_layout
render :inline => @cms_page.content, :layout => app_layout, :status => status
else
render :text => I18n.t('cms.content.layout_not_found'), :status => 404
app/views/layouts/cms_admin/_left.html.erb +1 -1
@@ @@ -1,5 +1,5 @@
<ul class='nav'>
- <li><%= active_link_to t('cms_admin.base.sites'), cms_admin_sites_path, :active => {:when => :self_only} %></li>
+ <li><%= active_link_to t('cms_admin.base.sites'), cms_admin_sites_path, :active => :exclusive %></li>
<% if @site && params[:controller] != 'cms_admin/sites' %>
<li><%= active_link_to t('cms_admin.base.layouts'), cms_admin_site_layouts_path(@site) %></li>
<li><%= active_link_to t('cms_admin.base.pages'), cms_admin_site_pages_path(@site) %></li>
test/functional/cms_content_controller_test.rb +9 -0
@@ @@ -22,9 +22,18 @@ class CmsContentControllerTest < ActionController::TestCase
cms_layouts(:default).update_attribute(:app_layout, 'cms_admin.html.erb')
get :render_html, :cms_path => ''
assert_response :success
+ assert assigns(:cms_page)
assert_select "body[class='c_cms_content a_render_html']"
end
+ def test_render_page_with_xhr
+ cms_layouts(:default).update_attribute(:app_layout, 'cms_admin.html.erb')
+ xhr :get, :render_html, :cms_path => ''
+ assert_response :success
+ assert assigns(:cms_page)
+ assert_no_select "body[class='c_cms_content a_render_html']"
+ end
+
def test_render_page_not_found
get :render_html, :cms_path => 'doesnotexist'
assert_response 404