I have layouts/application.xml.builder which is rendered for all xml reponses. In controllers I have: format.xml { render :layout => true, :xml => @some_var } This works perfectly fine in rails 2.1.2 and stopped working after upgrading to 2.2.2. It appears that :layout => true is not taking any effect. The @some_var.to_xml is rendered just not with application.xl.builder any more. I googled around and tried a bunch of different approaches but stuck. Anyone seen something like this? Thanks, -- Zhao --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Heinz Strunk
2009-Mar-04 12:30 UTC
Re: render layout not working for application.xml.builder
Haven''t seen something like this but have you tried :layout => ''application''? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Heinz, Yes I have. I wrote a tiny app to illustrate my problem. I have one model - user.rb: class User < ActiveRecord::Base def name "foo" end end and users_controller.rb: class UsersController < ApplicationController def index respond_to do |format| format.html format.xml do render :xml => User.new, :layout => ''application'' end end end end I defined routes for it: map.resources :users Then I change this to vary rails'' versions for testing: RAILS_GEM_VERSION = ''2.2.2'' unless defined? RAILS_GEM_VERSION Using :layout => ''application'' or not doesn''t matter. When I hit http://localhost:3000/users.xml I get this output: Processing UsersController#index to xml (for 127.0.0.1 at 2009-03-16 17:41:10) [GET] [4;36;1mSQL (0.3ms) [0;1mSET SQL_AUTO_IS_NULL=0 [4;35;1mUser Columns (1.5ms) SHOW FIELDS FROM `users` Rendering template within layouts/application Completed in 34ms (View: 6, DB: 2) | 200 OK [http://localhost/ users.xml] As you can see, it is renderin layouts/application. I have defined views/layouts/application.xml.builder as such: xml.instruct! xml.response do xml << yield end And what I get is: - <user> <created-at type="datetime" nil="true"/> <updated-at type="datetime" nil="true"/> </user> What I expect to get is xml instruct on top, then a response node, with user inside. Any more insight will be greatly appreciated. Zhao On Mar 4, 5:30 am, Heinz Strunk <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Haven''t seen something like this but have you tried :layout => > ''application''? > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---