Hi everyone,
I'm struggling with link_to.
I'm trying to generate a link that will enable my web users to ftp a file.
Table 'calls' contains a field 'filename'. There the requirement to download this file via ftp.
For example:
calls.filename = '/project/tmp/file/README.txt'
should convert to
<a href="ftp:///project/tmp/file/README.txt">/project/tmp/file/README.txt</a>
(or whatever the number of slashes is after 'ftp:')
Thanks, Birgit
Hi,
I realise there is one more issue here.
The 'calls' table also contains the ip address of the machine that hosts the file.
So
calls.ip_address = 123.456.789.123
This should find its way to the ftp url as well:
ftp://123.456.789.123/project/tmp/file/README.txt
Thanks, Birgit
Hi,
I realise there is one more issue here.
The 'calls' table also contains the ip address of the machine that
hosts
the file.
Do the :protocol and :host options help you?
Fred
Hi Fred,
Thanks for your help.
I've seen :protocol and :host. I'm more struggling what to do with
call.filename itself?
If "call.filename" is the value, what is the key that goes with it?
<%= link_to call.filename,
{:protocol => 'ftp', :host => call.ip_address} %>
Thanks, Birgit
Hi Everyone,
For those who might struggle like myself, this is how I solved my problem in the end.
I added a helper method to my call model, called to_url():
def to_url(call)
if (call.filename) then
uri2 = URI::FTP.build({:host => call.ip_address,
:path => call.filename})
uri2.to_s
else
''
end
end
In my index view, I call:
<%= link_to call.filename, to_url(call) %>
Cheers, Birgit