Я работаю над бумажной сукой или поиском сокровищ мобильного веб-приложения. У меня есть базовая аутентификация, если пользователь сканирует любой из следующих кодов, он будет перенаправлен на страницу sign_up. Пока все работает нормально, но здесь идет сложная часть:Rails 3 before_filter настройка и проверка булевых значений | paperchase/treasure hunt game
У меня есть 10 QR-кодов, каждый из которых представляет один URL-адрес.
- QR-код ID: 1 URL: HTTP: //paperchase.heroku.com/qrs/4975
- QR-код ID: 2 URL: HTTP: //paperchase.heroku.com/qrs/ 2368
- QR-код ID: 3 URL: HTTP: //paperchase.heroku.com/qrs/2317
- QR-код ID: 4 URL: HTTP: //paperchase.heroku.com/qrs/2369
- QR-код ID: 5 URL: HTTP: //paperchase.heroku.com/qrs/6247
- QR-код ID: 6 URL: HTTP: //paperchase.heroku.com/qrs/1493
- QR-код ID: 7 URL: HTTP: //paperchase.heroku.com/qrs/1759
- QR-код ID: 8 URL: HTTP: //paperchase.heroku.com/qrs/4278
- QR -кода ID: 9 URL: HTTP: //paperchase.heroku.com/qrs/8912
- QR-код ID: 10 URL: HTTP: //paperchase.heroku.com/qrs/5346
Теперь я хочу, чтобы пользователь сканировал каждый отдельный код в указанном порядке. Если он сканирует код 1, он найдет указания для кода 2, если он сканирует код 2, он найдет указания для кода 3 и так далее. Но сейчас можно пропустить коды, например. вы можете сканировать код 10 после кода 1 и выиграть.
Решение, которое я придумал:
Все QR-коды установлены на ложь. Если вы сканируете QR-код 1, он будет установлен в true, и вы можете сканировать QR-код 2. Если вы сейчас хотите отсканировать QR-код 5, он перенаправляет вас на root_path, потому что QR-Code 4 установлен в false.
Это часть моей модели пользователя:
...
t.boolean :qr_01, :default => false
t.boolean :qr_02, :default => false
t.boolean :qr_03, :default => false
t.boolean :qr_04, :default => false
...
Теперь я думаю, что я должен написать какую-то before_filter
с логикой (настройка QR-кодов, правда, проверяя, если все предыдущие QR-кодов установлены в true). Но я понятия не имею, как это должно выглядеть.
Заранее спасибо
thx, это приятное и простое решение! –