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