2014-11-25 7 views
0

КонтроллерПочему это перенаправление не работает?

def subscribe 
    @mailchimp_list_id = "01d4743206" 
    @gb = Gibbon::API.new 
    @email = params[:email] 
     @gb.lists.subscribe({ 
     :id => @mailchimp_list_id, 
     :email => @email, 
     :double_optin => false, 
     :send_welcome => false 
    }) 
    redirect_to root_path, notice: "Whats up" 
    end 

Посмотреть

<%= form_tag('/posts/subscribe', method: "post", id: "subscribe", remote: "true") do%> 
     <div class="large-18 columns text-right mailer"> 
     <%= email_field(:email, :email, {id: "mailersub", placeholder: "Enter your email"}) %> 
     </div> 
     <div class="large-6 columns text-right mailer"> 
      <%= submit_tag("Submit", id: "mailersubmit") %> 
     </div> 
    <% end %> 

Все, что я действительно хочу, чтобы это произошло для процесса MailChimp будет завершена, а затем затем повторно направляет на путь с уведомлением. Контроллер и представление предназначены для формы списка почтовых отправлений, после отправки мне хотелось бы, чтобы это произошло.

Любая помощь была бы принята с благодарностью, спасибо!

+1

В чем проблема с вашим текущим кодом? – usha

+0

Возможна ли возможность обмена сообщениями об ошибках или серверах? – Rubyrider

ответ

0

remote: true do ajax request, он не может перенаправлять. u нужно удалить удаленный: true ИЛИ в js .on ajax: success do location.url = '/'

0

Вот ваш ответ, вы должны отображать js внутри контроллера, а встроенный javascript может использоваться для перенаправления:

def subscribe 
    @mailchimp_list_id = "01d4743206" 
    @gb = Gibbon::API.new 
    @email = params[:email] 
     @gb.lists.subscribe({ 
     :id => @mailchimp_list_id, 
     :email => @email, 
     :double_optin => false, 
     :send_welcome => false 
    }) 
    flash[:notice] = "Whats up" 
    respond_to do |format| 
     format.js { render :js => "/" } 
    end 
    end 
+0

это не сработало :( –

+0

okey вы можете помочь с ответом на некоторые вопросы? – Rubyrider

+0

oh попробуйте следующее: reply_to do | format | format.js {render: js => "/"} end – Rubyrider

Смежные вопросы