2015-11-03 3 views
1

Я пытаюсь перенаправить на страницу после отправки формы для отправки по электронной почте. Подписки работают нормально, но страница не перенаправляется.Контроллер Rails не перенаправляет или рендеринга

Это то, что я имею в контроллере

class EmailapiController < ApplicationController 
    def index 
    end 

    def subscribe 

    @list_id = "alistid" 
    gb = Gibbon::API.new 

    gb.lists.subscribe({     
    :id => @list_id, 
    :email => {:email => params[:email][:address]}, 
    :double_opt_in => false 
    }) 

    flash[:success] = "Thank You for Subscribing" 

    respond_to do |format| 
    format.html { redirect_to "http://www.rubyonrails.org" } 
    #format.js 
    end 

    end 
end 

Моя форма выглядит следующим образом

<%= form_tag('emailapi/subscribe', method: "post", id: "subscribe", remote: "true", class: "form-inline") do -%> 
        <%= email_field(:email, :address, {id: "email", placeholder: "Enter your email..."}) %> 
        <%= submit_tag("Notify Me", class: "submit-btn", id: "submit-btn") %> 
<% end %> 

и в routes.rb у меня есть:

post 'emailapi/subscribe' => 'emailapi#subscribe' 

Благодарности

+0

Это входит в формат format.js, обрабатываете ли вы это в subscribe.js.erb? –

+0

Извините, я просто скопировал это в целях тестирования из другого перенаправления, который работал. Без этого для format.js по-прежнему остается одна и та же проблема. То же самое для использования render или redirect_to. – refreshe

ответ

0

Вы используете ar emote, но не обрабатывая js-ответ. Создайте представление subscribe.js.erb и поместите его в него window.location = "http://www.rubyonrails.org";

+0

Спасибо, что имеет смысл. – refreshe

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