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 | |