Error using 'send_file' for ruby/rails - help appreciated
- by user1653279
I am trying to create a link to download a file from the file system. For this, I define the following in the "license_helper.rb" file:
def license_download_link(license, link_text = nil)
if link_text.blank?
link_text = image_tag("download_icon.png", :border => 0, :width => 32, :height =>32, :alt => 'Download License', :title => 'Download License')
end
tempLicenseFile = "tempLicense.xml"
File.open("#{tempLicenseFile}", 'w') do |tf|
tf.puts license.data
end
command = "./runLicenseEncoder.bat #{tempLicenseFile}"
generateEncryptedLicenseFile = `#{command}`
theLicenseFile = "license.xml"
link_to link_text, "license/download"
end
My "view" just calls this helper class:
<td><%= license_download_link(license, ' ') %></td>
In the 'routes.rb' file, I have defined the following:
map.licensedownload "license.xml", :controller = 'licenses', :action = 'download'
map.download "/licenses/download", :controller = 'licenses', :action = 'download'
In the 'controller', I have 'licenses_controller.rb' which includes the following:
def download
theLicense = @license
licenseFileName = "license.xml"
send_file "#{licenseFileName}" , :type => "application/xml", :filename => "#{licenseFileName}"
end
However, I am unable to obtain the '@license' attribute from the database in the controller. Could someone please let me know what I am doing wrong here and why I am unable to get the value for "@license".
Thanks for your time,
Regards,
--- AJ