2015-03-29 5 views
0

Я создал маркетинговый сайт для алкогольной марки, и мне нужно проверить возраст пользователя, добавив целевую страницу, прежде чем они смогут войти на главный сайт. Каков наилучший способ решения проблемы с формой, отправкой и проверкой в ​​моем существующем приложении rails?Landing Page для Age check in Rails App

Должен ли я просто создать необработанную форму html и использовать javascript?

ответ

1

Добавить before_action в ApplicationController, который проверяет, если проверка уже имело место (т.е. если она хранится в куки, а затем проверить куки и т.д.):

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 на контроллере, который вы используете для обработки визуализации и представления формы, т.е.

class AgeVerificationController < ApplicationController 

    skip_before_action :check_age 

... 

end` 

Использование before_action иногда немного анти-паттерна, если вы начнете использовать это сделать много сложного материала, но в этом случае это довольно простой способ сделать то, что вы хотите сделать.

0

даже если вы используете JavaScript, то вам нужно магазин от возраста гостя, чтобы помочь ему в следующий раз для лучшего пользователя experience.So я предлагаю вам сохранить его вместе с IP-адресом, чтобы признать гость, если вы не храните уникальный параметр для входа (например, адрес электронной почты, номер мобильного телефона и т. д.). Если у вас есть стол готовый для хранения этой детали ... у вас есть много вариантов, таких как: -

  1. первый вариант заключается в том, что, прежде, чем представить получить возраст гостя с помощью проверки Jquery и передать его контроллер с помощью формы и хранить it.Use Ajax для отправки формы, так что вы можете проверить другие элементы, а также
  2. второй вариант это позволить пользователю посетить страницу и показать модальное всплывающее окно, в середине, после пять секунд, когда страница загрузилась с помощью settimeout, чтобы вызвать ajax, который в свою очередь вызовет контроллер meth овые визуализации JS файла, который будет вызывать модальный такую, как $(".myModal").show(); или вынести собственное мнение, чтобы получить данные пользователя, такие как:

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