Hello,
On one of my pages I’ve got a button which should do various stuff based
on some params passed to the page (and some retrieved from the session).
I was doing it fine using an helper :
def action_button product
if logged_in?
button_to “Already added!”,{:action=>:show, :id=>product},
elsif @cart.items.include? product
button_to “Already
added!”,{:controller=>‘store’},{:disabled=>true}
else
button_to “Add to cart”, {:action=>:add_to_cart, :id=>product}
end
end
But now I’d like to start using some eye-candy effects with Ajax. So I
tried to write down this :
def action_button product
if logged_in?
button_to “Already added!”,{:action=>:show, :id=>product},
elsif @cart.items.include? product
button_to “Already
added!”,{:controller=>‘store’},{:disabled=>true}
else
to_return = ‘’
form_remote_tag :url => {:action=>:add_to_cart,:id=>product} do
to_return += submit_tag “Add to cart”
end
to_return
end
end
But it didn’t work. Turns out that “form_remote_tag” needs to call
_erbout which is only defined in the view, but not in the helpers … Do
you know how I could fix my problem (without putting too much stuff in
my views) ?
Thanks a lot
On 10/5/07, Stefano G. [email protected] wrote:
else
you know how I could fix my problem (without putting too much stuff in
my views) ?
Don’t use a block with form_remote_tag in this case. You want
something like this:
form_remote_tag(:url => …blah…) + submit_tag(‘Add to cart’) +
end_form_tag
Thanks, it works perfectly
Any ideas on how to do this now that end_form_tag is deprecated?
Thanks!
On Oct 6 2007, 6:18 am, Stefano G. <rails-mailing-l…@andreas-
bhbrinckerhoff wrote:
Any ideas on how to do this now that end_form_tag is deprecated?
Thanks!
On Oct 6 2007, 6:18 am, Stefano G. <rails-mailing-l…@andreas-
Hi,
I have a scenario wherein i have opened a javascript popup window, now i
want the user to do some actions in that window, and now the form from
the window is submited, on submit i call a method that does the server
side handling and then on success i call the window.close and now on
complete i am trying to invoke another ajax call to update a dom element
in the main window.
My code looks like this
<%= form_remote_tag :method=>‘post’, :url=>{:action =>‘add_from_pop_up’,
:count => count},
:success => “window.close();”,
:complete => “javascript:test(count)”%>
and the javascript fcn is
function test(count)
{
qs = “count=”+ count
new Ajax.Request(’/reporting/update_div’, {parameters:qs,
asynchronous:true, evalScripts:true});
return false;
}
Any suggestions on how to invoke this javascript method to update a DOM
element.
Neha