Hello all,
I am trying to export some xml files on the web app as a download, but
Firefox/chrome/ie/safari all just display the xml content on
themselves. How can I have the download prompt? Like I am downloading
a .exe file?
Thank You
Hello all,
I am trying to export some xml files on the web app as a download, but
Firefox/chrome/ie/safari all just display the xml content on
themselves. How can I have the download prompt? Like I am downloading
a .exe file?
Thank You
Hi Nik,
This is what we have and it seems to work in all the browsers
response.body = xml.to_s
response.content_type = "application/x-generated-xml-backup";
filename = "Filename.xml"
response.headers['Content-disposition'] = "Attachment;
filename="#{filename}""
render :text => xml.to_s
Cheers
Simon
Thanks Simon,
Where should I put this code? I have in my controller:
#Controller
def exportxml
if params[:item_ids]
@items = Item.find(params[:item_ids])
respond_to do |format|
format.xml {render :layout=>false}
end
end
end
Cheers!
Nik
Hi Zuo,
Thank You! It works. Brilliantly. And thank you, too Simon!
All the best,
Nik
def exportxml
if params[:item_ids]
@items = Item.find(params[:item_ids])
respond_to do |format|
format.xml {
send_data @items.to_xml, :filename => "items.xml"
}
end
end
end
On Fri, Oct 17, 2008 at 6:59 AM, Nik [email protected] wrote:
Simon
Thank You
–
Satchel Paige - “Don’t look back. Something might be gaining on you.”
Hi Zuo,
It works! But the XML structure I used in the builder is now lost. The
XML file is now filled with the data from the columns.
Is there a way I can use my builder and your method?
Does anyone have an idea on this ?
Thanks!
Nik
overwrite the to_xml method in your model or yield the builder object
as part of the to_xml
@item.to_xml do |xml|
# builder stuffs
end
On Tue, Oct 28, 2008 at 1:15 AM, Nik [email protected] wrote:
Thanks!
On Oct 16, 6:47 pm, “zuo peng” [email protected] wrote:
end
def exportxml
Nikrender :text => xml.to_s
themselves. How can I have the download prompt? Like I am downloading
a .exe file?Thank You
–
Satchel Paige - “Don’t look back. Something might be gaining on you.”
–
Emo Philips - “My computer beat me at checkers, but I sure beat it at
kickboxing.”
Hi Zuo!
Thank you again for your help! I did this and it says that a “}” is
missing right after * as in :filename=>*
def exportxml
if params[:item_ids] ||= []
@items = Item.find(params[:item_ids])
respond_to do |format|
format.xml {send_data @items.to_xml do |xml|
xml.instruct!
xml.product do
for t in @items
xml.lineitem(:id=>t.name) do
xml.name(t.name)
xml.in(t.tradeIn/85.to_i)
end
xml.logginginfo do
xml.lognote(t.note)
end
end
end
end
end
:filename=> “items.xml”}
end
end
end
The builder stuff is copied straight from the exportxml.xml.builder.
And I don’t know if this is helpful – if I removed
the :filename=>“items.xml” from above, it downloads! Yet, it again
saves the file without extension and gives me the array of the columns
of the table instead of my builder scheme.
I am sorry to have to ask for your help again.
Thank you
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs