每个页面上的登录表单或重定向到页面的表单

贾斯汀

在我的rails应用程序中,有很多页面不需要您登录即可查看。例如,某个用户的个人资料页面。如果该页面需要您登录,则当前会话逻辑将重定向回上一页。如果不是,则像配置文件页面一样,然后单击“登录”并登录,它会将您带到在其中指定的网址我的SessionsController动作。这使我走到了十字路口。我需要在每个页面上使用一个模式layouts/application.html.erb)具有会话表单,因此用户可以单击“登录”,模型将打开,并且在他们登录时,只需刷新页面即可使用户停留在当前页面上。但是,我现在正在尝试并遇到一些错误。另一个选择是拥有单独的登录页面,但是无论您来自应用程序中的哪个页面,它都会将您重定向回。不幸的是,我不确定如何为此编写代码。

这是我目前正在尝试通过模式在每个页面上使用Session表单的代码。

**SessionsController #create action**

def create
  user = User.find_by(email: params[:session][:email].downcase)
  if user && user.authenticate(params[:session][:password])
    sign_in user
    redirect_back_or request.original_url
  else
    flash.now[:error]  = "Invalid email/password combination."
    render 'new'
  end
end

**layouts/application.html.erb**

<% unless signed_in? %>
...modal code
  <%= form_for(:session, url: sessions_path) %>
      <%= text_field ... %>
      <%= password_field .... %>
      <%= submit button %>
  <% end %>
... # I've shorted the code here obviously
<% end %>

该表格在/login页面上可以正常工作match '/login', to: "sessions#new", via: "get"

但是,当我在其他页面上使用此表单时,出现此错误:

`Missing template public/error with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}. `

并转到此页面:

http://localhost:3000/sessions

如何使此Sessions表单在网站的每个页面上都能正常工作?谢谢

更新资料

在玩了更多之后,我意识到当我将SessionController中的代码更改为

redirect_back_or profile_path(user)

而不是当前

redirect_back_or request.original_url

如何重定向回我当前所在的页面,而不是指定特定页面(如个人资料页面)?

贾斯汀

我想我找到了答案。如果您有更好的解决方案,请仍然回答。

redirect_back_or :back

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重定向到显示页面的Rails表单

来自分类Dev

试图将注册表单重定向到登录页面?

来自分类Dev

重定向页面上的Symfony表单验证

来自分类Dev

如果用户未登录,则ZF2重定向到每个页面上的登录页面

来自分类Dev

如果用户未登录,则ZF2重定向到每个页面上的登录页面

来自分类Dev

Laravel即使在登录后也重定向到每个页面上的登录

来自分类Dev

在jsp页面上使用servlet表单而不重定向到servlet

来自分类Dev

在jsp页面上使用servlet表单,而无需重定向到servlet

来自分类Dev

PHP POST方法表单在操作页面上的重定向

来自分类Dev

提交表单并重定向到另一个页面的按钮

来自分类Dev

如何将我的注册页面从表单身份验证重定向到登录页面中排除

来自分类Dev

表单提交到api,然后重定向到指定页面

来自分类Dev

php中的表单提交后未重定向到页面

来自分类Dev

PHP表单操作重定向到错误的页面

来自分类Dev

将我的jsp表单重定向到成功页面

来自分类Dev

如何将联系表单重定向到索引页面?

来自分类Dev

根据表单输入重定向到php页面

来自分类Dev

表单发布重定向到 404 页面 Django 错误

来自分类Dev

AJAX 表单重定向到空页面而不是记录数据

来自分类Dev

重定向到表单提交页面并在新页面中使用表单数据

来自分类Dev

将页面上的动作单击事件重定向到页面的锚点

来自分类Dev

登录重定向到特定的登录页面

来自分类Dev

Symfony登录页面的表单构建器

来自分类Dev

如何重定向到页面而不获取登录页面的缓存副本

来自分类Dev

提交表单后,jQuery页面重定向

来自分类Dev

表单重定向成功/失败页面

来自分类Dev

提交表单后重定向页面-Javascript

来自分类Dev

如何在“管理/登录”页面上将“身份验证登录”重定向到?

来自分类Dev

如何在“管理/登录”页面上将“身份验证登录”重定向到?

Related 相关文章

  1. 1

    重定向到显示页面的Rails表单

  2. 2

    试图将注册表单重定向到登录页面?

  3. 3

    重定向页面上的Symfony表单验证

  4. 4

    如果用户未登录,则ZF2重定向到每个页面上的登录页面

  5. 5

    如果用户未登录,则ZF2重定向到每个页面上的登录页面

  6. 6

    Laravel即使在登录后也重定向到每个页面上的登录

  7. 7

    在jsp页面上使用servlet表单而不重定向到servlet

  8. 8

    在jsp页面上使用servlet表单,而无需重定向到servlet

  9. 9

    PHP POST方法表单在操作页面上的重定向

  10. 10

    提交表单并重定向到另一个页面的按钮

  11. 11

    如何将我的注册页面从表单身份验证重定向到登录页面中排除

  12. 12

    表单提交到api,然后重定向到指定页面

  13. 13

    php中的表单提交后未重定向到页面

  14. 14

    PHP表单操作重定向到错误的页面

  15. 15

    将我的jsp表单重定向到成功页面

  16. 16

    如何将联系表单重定向到索引页面?

  17. 17

    根据表单输入重定向到php页面

  18. 18

    表单发布重定向到 404 页面 Django 错误

  19. 19

    AJAX 表单重定向到空页面而不是记录数据

  20. 20

    重定向到表单提交页面并在新页面中使用表单数据

  21. 21

    将页面上的动作单击事件重定向到页面的锚点

  22. 22

    登录重定向到特定的登录页面

  23. 23

    Symfony登录页面的表单构建器

  24. 24

    如何重定向到页面而不获取登录页面的缓存副本

  25. 25

    提交表单后,jQuery页面重定向

  26. 26

    表单重定向成功/失败页面

  27. 27

    提交表单后重定向页面-Javascript

  28. 28

    如何在“管理/登录”页面上将“身份验证登录”重定向到?

  29. 29

    如何在“管理/登录”页面上将“身份验证登录”重定向到?

热门标签

归档