设计在Rails应用程序中的bootstrap模式中忘记密码

时间:2014-11-09 22:46:40

标签: ruby-on-rails twitter-bootstrap devise bootstrap-modal

我正在Rails 4中构建一个小应用程序。我正在使用设计进行身份验证。

我想在弹出/弹出窗口中设置我的登录。我使用bootstrap模式来实现这一点。我已按照此链接成功实现了这一目标。

https://github.com/plataformatec/devise/wiki/How-To:-Display-a-custom-sign_in-form-anywhere-in-your-app

以下是我的代码

application.html

    <ul class="nav navbar-right">
      <% if user_signed_in? %>
         <div id="loggedinuser"> <%= current_user.email %>. Not you? </div>
         <%= link_to "Sign out", destroy_user_session_path, :method => :delete %>
      <% else %>
         <li><a href="" data-toggle="modal" data-target="#myModal" class="btn btn-small btn-info">Log IN</a></li>
      <% end %>
    </ul>

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<%= form_for(:user, :url => session_path(:user)) do |f| %>
      <%= f.email_field :email, class: 'form-control', placeholder: 'Enter email' %>
      <%= f.password_field :password, class: 'form-control', placeholder: 'Enter password' %>
      <%= f.submit 'Sign in', class: 'btn btn-block btn-info' %>
 <% end %>
 <%= link_to content_tag(:small, 'Forgot your password?'), new_password_path(:user) %> 
</div>

问题在于忘记了密码链接。它需要我从模态弹出窗口输出密码。

有什么办法可以用相同的模态替换内容来打开它吗?

我之前看过同样的问题,但没有人回答。

https://stackoverflow.com/questions/24878494/devise-forgot-password-popover-modal

我希望有人能帮助我。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

创建一个按钮或表单,在控制器中点击自定义操作(例如forgot_password)。

def forgot_password
  respond_to do |format|
    format.js
  end
end

然后在该控制器的视图文件夹中创建名为forgot_password.js.erb的js视图模板。把这样的东西放在模板中:

$("#your-modal-body-id").html("<%= escape_javascript (render partial: 'forgot_password') %>");

确保您的模态正文与js视图模板中的匹配ID一样。

根据需要创建forgot_password部分。