Я использую Nokogiri для создания XML-файла в моем приложении. Я хочу сохранить этот файл, и я хочу отобразить диалоговое окно, в котором пользователь может выбрать папку, в которой загружается этот файл. Это действие в мой контроллер:Rails send_data не сохраняет файл
def download
require 'nokogiri'
if owner_signed_in?
@slips = current_owner.slips
builder = Nokogiri::XML::Builder.new do |xml|
xml.cedolini{
@slips.each do |slip|
xml.cedolino{
xml.codicecliente_ slip.client_code
xml.data_ slip.day.to_s
xml.ordini{
slip.product_slips.each do |order|
xml.ordine {
xml.codicearticolo_ order.product_code
xml.descrizionearticolo_ order.product_description
xml.ammontare_ order.amount.to_s
}
end
}
}
end
}
end
file = builder.to_xml
send_data file, :type => 'text/xml; charset=UTF-8;', :disposition => "attachment; filename=db.xml"
end
end
У меня есть маршрут, определенный таким образом:
get '/dbsinc/download'
Когда я звоню действия с точки зрения, это не сохранить XML, я см. новую страницу с URL-адресом моего действия, а на странице я вижу XML-файл, отображаемый на странице, но он не открывает диалоговое окно для сохранения файла. Где я ошибаюсь? Благодаря
Что такое 'endit do'? –
Я ошибся с копированием и вставкой, это просто и конец, я редактировал сейчас с правильным кодом –
Это может помочь разборчивость, если вы также исправите свой отступ. –