当用户使用Devise和rails登录时打开模态

时间:2018-01-06 14:53:53

标签: javascript ruby-on-rails devise

我有Devise的rails应用。我想在用户登录网站时打开模态对话框。

我目前的解决方案是在after_sign_in_path_for方法中添加网址参数:

def after_sign_in_path_for(resource_or_scope)
  root_url(sign_in: true)
end

然后我可以在javascript中检查url params:

<script type="text/javascript">
  <% if params[:sign_in] %>
    $(document).ready(function() {
      $('#login-message-modal').modal()
    });
  <% end %>
</script>

但我觉得这很棘手。有谁知道更好的解决方案?

干杯

1 个答案:

答案 0 :(得分:0)

def after_sign_in_path_for(resource_or_scope)
  flash[:modal] = '#login-message-modal'
  root_url
end

<script>
  ....
  <% if flash[:modal] %>
     $('<%= flash[:modal] %>').modal();
  <% end %>
</script>