2017-01-22 1 views
0

레일즈 4가있는 웹 응용 프로그램을 사용하여 로그인해야합니다. 이제이 앱의 데모 버전을 원합니다. 데모 버전이란 원래 앱의 모든 기능을 갖춘 버전이지만 로그인하지 않은 버전을 의미합니다. 그리고 데모 데이터는 수시로 (자동 또는 수동으로) 삭제되어야합니다.레일 4 : 원본 앱을 기반으로 무료 데모 버전을 만드는 방법

원래 응용 프로그램을 실행하고 최소한의 노력으로 데모 버전을 구현하고 싶습니다. 이상없이 원래 코드의 대부분을 변경하지 않고 사용할 수 있습니다. 그러나 다른 한편으로는 원래 코드의 변경은 추가 작업없이 데모 버전에서 사용할 수 있습니다.

첫 번째 아이디어는 캐시/세션에 데모 버전을 구현하는 것이므로 세션이 만료되면 데이터도 삭제됩니다. 원래의 앱에 ActiveRecord를 심층적으로 통합했기 때문에이 아이디어를 취소했습니다. 모든 데모 클래스를 다시 코딩하고 일부 추상 부모 클래스를 빌드해야합니다.

두 번째 아이디어는 단순히 원래 앱을 사용하는 것이지만 모든 데모 계좌에 플래그를 추가하여 모든 일반 계정과 구분할 수 있도록하는 것이 었습니다. 필자는이 아이디어를 망설이게하기 때문에 (예 : 원래 앱에 사용하는 테이블) 데모 데이터를 사용하여 데이터베이스 성능을 떨어 뜨리고 앱 데이터를 평가할 때 잘못된 해석의 높은 비용/위험을 초래할 수 있습니다. 어제 생성 된 많은 계정).

우아한 데모 버전을 실현하는 방법에 대한 아이디어가 있으십니까? 스마트 접근 방식을 환영합니다!

답변

1

게스트 사용자 계정과 현재 응용 프로그램이 데모 모드 (custom config을 통해 지정 가능)인지 확인하고 자동으로 사용자에 로그인하는 ApplicationController에서 이전 작업을 수행 할 수 있습니다.

cron 작업을 사용하여 데모 데이터를 삭제할 수 있습니다. Whenever은 루비에서 cron 작업을 관리하기위한 좋은 솔루션입니다.

+0

예, 최적의 솔루션을 데모 플래그 계정입니다 생성하는 생각을. cron 작업은 이전 데모 계정을 모두 삭제합니다. 이것은 통계를 복잡하게 만들 것입니다 (모든 데모 계정을 필터링해야하기 때문에)하지만 중복 된 코드와 많은 노력을 덜어 앱의 별도 데모 버전을 구현할 것입니다. – user2148956

0

언제든지 faker gem을 사용하는 자동 가짜 데이터 용. Faker는 가짜 데이터를 생성합니다. 크론 작업 때마다. 모든 데모 세션이 끝나면 모의 데이터가 삭제됩니다.

는 이러한 점을 : 세션, 크론, 가짜 종자 데이터

관련 문제