JS response -pls help somebody

16 views
Skip to first unread message

lekha p.

unread,
Dec 12, 2013, 4:26:14 AM12/12/13
to rubyonra...@googlegroups.com
Hi all,
Pls help to find a solution :

i have a form like following
<%= form_for @product , :url => products_url(:format => 'js'), :html
=>{:id=>"create_product_form" ,:multipart => true,:remote=>true} do |f|
%>


what i have to do is like when submiting form i have to redirect to new
page else want to execute js like following

def create
if @product.save
redirect_to new_product_path
else
respond_to do |format|
format.js
end
end


Here my issue i cant redirect_to new_products_path... what may be my
mistake ?? redirection is happening in console. but not not in ui.
whether is is because ajax call in form, how to redirect ??

--
Posted via http://www.ruby-forum.com/.

Frederick Cheung

unread,
Dec 12, 2013, 6:30:47 AM12/12/13
to rubyonra...@googlegroups.com


On Thursday, December 12, 2013 9:26:14 AM UTC, Ruby-Forum.com User wrote:

Here my issue i cant redirect_to new_products_path... what may be my
mistake ??  redirection is happening in console. but not not in ui.
whether is is because ajax call in form, how to redirect ??

It's because it's an ajax call - doing a redirect just affects what data that ajax request returns (and it happens completely invisibly from the point of view of the thing making the ajax request). It won't make the containing page reload.
If you are rendering JS then a straightforward way is for your response to contain window.location = ...

Fred

Manoj M.

unread,
Dec 13, 2013, 4:04:57 AM12/13/13
to rubyonra...@googlegroups.com
Hi you can try


respond_to do |format|
format.js { render :js =>
"window.location.replace('#{new_product_url}');" }
end


Thanks
Manoj Menon


lekha p. wrote in post #1130416:
> Hi all,
> Pls help to find a solution :
>
> i have a form like following
> <%= form_for @product , :url => products_url(:format => 'js'), :html
> =>{:id=>"create_product_form" ,:multipart => true,:remote=>true} do |f|
> %>
>
>
> what i have to do is like when submiting form i have to redirect to new
> page else want to execute js like following
>
> def create
> if @product.save
> redirect_to new_product_path
> else
> respond_to do |format|
> format.js
> end
> end
>
>
> Here my issue i cant redirect_to new_products_path... what may be my
> mistake ?? redirection is happening in console. but not not in ui.
> whether it is because of ajax call in form, how to redirect ??
>
>
>
>
>
>
>
> Thanks,
> Lekha.
Reply all
Reply to author
Forward
0 new messages