我正在Rails 4中构建一个小应用程序。我正在使用设计进行身份验证。
我想在弹出/弹出窗口中设置我的登录。我使用bootstrap模式来实现这一点。我已按照此链接成功实现了这一目标。
以下是我的代码
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
我希望有人能帮助我。
非常感谢任何帮助。
答案 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
部分。