【分享】如何在其他页面中实现登入功能,无需跳转至登入页面。

先看效果:

如何才能实现在详情页面(或任何页面)登入!(不需要跳转到登入页面),登入后直接返回之前页面。(通常登入后会被导向首页)

做弹窗登入,你需要解决三个问题:
  • 如何在在其他页面实现登陆功能?
  • 登入后如何跳转回之前的页面?
  • 最好把登入成功的英文提示关掉。
现在,我来帮你解决……

开始:

本教程以Job-listing为例。

step1:解决:在其他页面实现登入。
  1. 找到你想插入的页面对应的helper。比如:在jobs的show.html.erb页面。我们找到app/helpers/jobs_helper.rb填入:

```
def resource_name
:user
end

def resource
@resource ||= User.new
end

def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
```

step2: 解决:登入后跳转回之前的页面。
  1. 打开app/controllers/application_controller.rb 填入:

```
before_action :store_current_location, :unless => :devise_controller?

private

def store_current_location
store_location_for(:user, request.url)
end
```

step3: 解决:如何关闭登入成功提示?
  1. 找到config/locales/devise.en.yml,把下图中的字段清空。
ok,三个问题解决了,就可以开始实做登入弹窗了。

关于登入弹窗,w3schools有详尽的教程:https://www.w3schools.com/howto/howto_css_login_form.asp

大家遇到问题,可以加我微信一起探讨。

同系列教程:

希望你5票投我1票!

这是我用很多很多注意力堆出来的参赛作品,希望精心的作品能打动你。如果你手上还有票,这个作品值得你投上一票!欢迎浏览网址细节:【全栈小伙伴求职网】https://fullstack.xinshengdaxue.com/works/345

comments powered by Disqus