首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails应用程序中年龄检查的登录页面

Rails应用程序中年龄检查的登录页面
EN

Stack Overflow用户
提问于 2015-03-30 03:43:52
回答 2查看 482关注 0票数 0

我已经建立了一个酒类品牌的营销网站,我需要检查用户的年龄通过添加一个登录页面,然后才能进入主网站。在我现有的rails应用程序中处理表单、提交和验证功能的最佳方法是什么?

我应该只创建一个原始的html表单并使用javascript吗?

EN

回答 2

Stack Overflow用户

发布于 2015-03-30 05:26:32

ApplicationController添加一个用于检查验证是否已经发生的before_action (即,如果它存储在cookie中,则检查cookie,依此类推):

代码语言:javascript
运行
复制
class ApplicationController

  before_action :check_age

  def check_age
   # check if the user has already confirmed their age.
  end

  ...

end

如果没有找到,则将用户重定向到一个控制器操作,该操作使用年龄检查表单(即AgeVerificationController#new)呈现页面

在提交时,设置cookie (或您正在执行的存储此数据的任何操作),并将用户重定向回他们打算访问的页面(如果他们说自己未成年,则将其踢出站点!)

您需要在用于处理表单的呈现和提交的控制器上包含一个skip_before_action,即

代码语言:javascript
运行
复制
class AgeVerificationController < ApplicationController

  skip_before_action :check_age

...

end`

如果您开始使用before_action来做许多复杂的事情,那么使用它有时有点反模式,但在这种情况下,它是一种相当简单的方式来完成您想要做的事情。

票数 1
EN

Stack Overflow用户

发布于 2015-03-30 05:31:45

即使你使用javascript,你将需要存储的客人的年龄,以帮助他为更好的用户下一次experience.So我会建议你保存它与ip地址,以识别客人,如果你没有存储一个唯一的参数登录(如电子邮件,手机号码等)。一旦准备好要存储此details...you的表,就有许多选项,例如:-

  1. first option ajax是为了在提交前使用jquery验证来获取来宾年龄,并使用form将其传递给控制器,并存储it.Use ajax以供表单提交,这样你就可以验证其他元素如well
  2. second option是让用户访问页面并在中间显示一个模式窗口弹出窗口,在页面加载五秒钟后使用settimeout调用ajax,这反过来将调用一个控制器方法来呈现js文件,该文件将调用一个模式如$(".myModal").show();或呈现您自己的视图来获取用户详细信息,例如:

$('#myModal').find('.modal-body').html("<%= escape_javascript(render(:partial => 'users/get_details')) %>"); $('#myModal').modal();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29333936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档