On 24/07/11 17:08, David Kahn wrote:





    If I could get the text that is shown for each link stored in to a
    variable I could parse it to the upload method in the controller
    (I think). I would then be able to use this variable in the
    send_file method, instead of specifying a path manually.

    Any ideas on how to do this or better suggestions would be great.

    Cheers,
    Jen.

    Below is code from my controller so far. I have commented out the
    send_file line for now, so I could test the view rendered ok.

    class DownloadController < ApplicationController
    require 'grit'
    include Grit
    #First check the user is logged in
    before_filter :authenticate
    #First get a list of files from git, so the user can decide what
    to download.
    def index
    download = Download.new
    render 'download'
    end
    def download
    #Create string for the directory
    directory = "/home/resource_portal/website/public/data/upload/"
    #send_file(directory + params[:file], :disposition => :attachment)
    end
    end

-- 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@googlegroups.com
    <mailto:rubyonrails-talk@googlegroups.com>.
    To unsubscribe from this group, send email to
    rubyonrails-talk+unsubscr...@googlegroups.com
    <mailto:rubyonrails-talk%2bunsubscr...@googlegroups.com>.
    For more options, visit this group at
    http://groups.google.com/group/rubyonrails-talk?hl=en.

Jen, hi. Maybe you have considered against it but one thing is to use CarrierWave or Paperclip. It does save data to a model in the db but the files store in the FS. But even if you dont, I think this should work if the path is valid, as in my case it is just Paperclip providing the file path, then just link to the controller action which provides this:-

send_file @billing_run.tu_raw_bill_csv.path



Hi David.
All my files are being versioned with GIT, so I don't really want to use a DB table just for storing IDs if I can help it.

Would it be possible to have the action in the controller farm out to the web-server to serve the files as long as they are in an authorized directory, then use grit to checkout the downloaded content in GIT?

I still have the problem of telling the server exactly which file to serve.

The idea is that users can annotate stuff then re-upload it. These changes will be re-committed, so a history of the file will be stored. This does screw up if a user changes the filename, but will deal with that later!

Thanks in advance for any more help/suggestions,
Jen!

--
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@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to