0

Gibbon gem を使用して Rails 4 のメーリング リストに誰かが登録した後、アラートを作成するにはどうすればよいですか?

<%= form_tag('/static_pages/subscribe', method: "post", :class => 'form-inline', id: "subscribe-form", remote: "true",) do %>
    <div class='input-group'>
   <%= email_field(:email, :address, {id: "email", placeholder: "email address", class: 'btn btn-lg'}) %>
   <%= submit_tag(:submit, class: "btn btn-info btn-lg", id: "email-click", 'data-disable-with' => "Please wait...") %>
   </div>
<% end %>

これはコントローラーのアクションです。

  def subscribe
    @list_id = "43dcea1d12"
    gb = Gibbon::API.new

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

  end

gb.lists.subscribe 呼び出しの前後に以下を追加しようとしましたが、うまくいきませんでした

flash[:alert] = "Subscribed!"
4

1 に答える 1

4

私は同じ問題を抱えていて、サーバーログで応答が JS であることがわかりました。また、root_path にリダイレクトしていました。

https://stackoverflow.com/a/18681807を参照してからhttps://stackoverflow.com/a/17689223を参照した後、次の問題を解決しました。

respond_to do |format|
    format.html {redirect_to root_path}
    flash[:alert] = "Subscribed!"
    flash.keep(:alert) # Keep flash notice around for the redirect.
    format.js {render :js => "window.location.href='"+root_path+"'"} 
  end

お役に立てれば!

于 2015-02-28T01:39:21.660 に答える