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' %>
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
Application.rhtml:
<% form_tag( {:action => ‘mltn6p’} ) do -%>
Wendia Site entry Program
Select your Shelf
<%= select(:node, :id, $shelves,{:prompt =>'Select Equipment'},{ :onchange => remote_function(:url => { :action => "gotoshelf"})} ) %>
<%= render :partial => 'sitedata' %>
Download POB Files
<%= button_to 'Download CIS file', :action => 'downloadcis' %>
<%= button_to 'Download PCCIS file', :action => 'downloadpccis' %>
<div id="content">
<div id="notification"> </div>
<%= yield %>
</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
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 }
Anyone have any ideas why the second button works but the first button
is giving me the above error?
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' %>
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