Forum: Ruby on Rails 2 button_to functions for file downloads

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
8133ee52ca72188132b5c7d97dfb967f?d=identicon&s=25 Chris Habgood (chabgood)
on 2009-02-12 04:37
(Received via mailing list)
I have 2 button_to functions that download 2 different files.  the
first one acts like a submit and the second on actually does downlaod
the file.  Does anyone know what would cause that?

<%= button_to 'Download PCCIS file',   :action => 'downloadpccis' %>
<%= button_to 'Download CIS file',   :action => 'downloadcis' %>
8133ee52ca72188132b5c7d97dfb967f?d=identicon&s=25 Chris Habgood (chabgood)
on 2009-02-13 02:29
(Received via mailing list)
Anyone have any idea why one button does a submit and the other does a
file download?
91a72b0ad3e43e3ef3a31816667ec694?d=identicon&s=25 bill walton (Guest)
on 2009-02-13 04:25
(Received via mailing list)
On Thu, 2009-02-12 at 17:29 -0800, Me wrote:
> Anyone have any idea why one button does a submit and
> the other does a file download?

In general, element behavior in any page is a function of the browser
parser's ability to make sense of the code we feed it.  Post your code
and we might be able to help.

Best regards,
Bill
8133ee52ca72188132b5c7d97dfb967f?d=identicon&s=25 Chris Habgood (chabgood)
on 2009-02-13 04:46
(Received via mailing list)
Application.rhtml:
<% form_tag( {:action => 'mltn6p'}  ) do -%>
<div id="page">
    <div id="header">
        <h1>Wendia Site entry Program</h1>
    </div>
    <div id="menu">
        <fieldset>
            <legend>Select your Shelf</legend>
            <%= select(:node, :id, $shelves,{:prompt =>'Select
Equipment'},{
:onchange => remote_function(:url => { :action => "gotoshelf"})} ) %>
        </fieldset><br />
        <%= render :partial => 'sitedata' %>
        <fieldset id="downloads" style="display: none">
            <legend>Download POB Files</legend>
            <%= button_to 'Download CIS file',         :action =>
'downloadcis' %>
            <%= button_to 'Download PCCIS file',     :action =>
'downloadpccis' %>
        </fieldset>
    </div>

    <div id="content">
        <div id="notification"> </div>
            <%= yield %>
    </div>
</div>
<% end %>

controller:
def downloadcis
        send_file("#{$site.upcase}_CIS.csv", :type => 'text/plain',
:disposition => 'attachment')
  end


    def downloadpccis
        send_file("#{$site.upcase}_PCCIS.csv", :type => 'text/plain',
:disposition => 'attachment')
    end
8133ee52ca72188132b5c7d97dfb967f?d=identicon&s=25 Chris Habgood (chabgood)
on 2009-02-13 05:27
(Received via mailing list)
For some reason the first button is giving me this for a response:
try {
$("notification").update("<h1 style='display: inline' class='mes'>Site
123 was built</h1>");
$("downloads").show();
} catch (e) { alert('RJS error:\n\n' + e.toString()); alert('$
(\"notification\").update(\"<h1 style=\'display: inline\' class=\'mes
\'>Site 123 was built</h1>\");\n$(\"downloads\").show();'); throw e }
8133ee52ca72188132b5c7d97dfb967f?d=identicon&s=25 Chris Habgood (chabgood)
on 2009-02-14 01:22
(Received via mailing list)
Anyone have any ideas why the second button works but the first button
is giving me the above error?
8133ee52ca72188132b5c7d97dfb967f?d=identicon&s=25 Chris Habgood (chabgood)
on 2009-02-14 18:55
(Received via mailing list)
OK Well this must be a bug I guess but I managed to get it to work.

For some reason the first one was trying to give the js response to
the action.  So for the hey of it I used 3 button_to's and the bottom
two worked while the first one was giving me the same response.

<div style="display: none;"><%= button_to 'Download PCCIS file',
  :action => 'downloadpccis' %></div>
<%= button_to 'Download PCCIS file',   :action => 'downloadcis' %>
<%= button_to 'Download PCCIS file',   :action => 'downloadpccis' %>
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-02-14 18:59
(Received via mailing list)
On Feb 14, 5:54 pm, Me <chabg...@gmail.com> wrote:
> OK Well this must be a bug I guess but I managed to get it to work.
>
button_to generates a form for you with a button. You've put a button
in a form, therefore in the generated html there will be a form nested
inside a form which isn't valid html (and also sorts of weird stuff
can happen, like the "wrong" form being generated).

Fred
This topic is locked and can not be replied to.