레일 3을 사용하고 있습니다. 내 전체 앱은 Devise 2.2를 사용하는 등록 된 사용자로 제한됩니다.Devise를 통해 가입 한 사용자로부터 요청한 URL을 수집하는 방법
내 요구 사항 : "사용자가 구독했을 때 항목 X를 (원하는 항목/: ID가 요청 된 URL과 같음) 표시하려고했습니다."라고 말할 수 있습니다. 가능할 때마다 사용자가 등록 할 때보고 싶은 앱의 항목을 알려줍니다.
예 : John은 www.website/item/48 링크를 클릭하지만 그는 시스템에 등록되지 않았습니다. 장치가 로그인 페이지로 리디렉션 된 후 그는 등록되어 www.website/item/48로 리디렉션되었습니다 (표준 작성 동작). 나중에 사이트의 관리자는 그가 48
는 현재 고안 항목 내 모든 컨트롤러에 before_filter :authenticate_user!
으로, 가장 고전적인 방법을 설정보고 싶었 기 때문에 계정을 만들지 [email protected] 해당 사용자를 볼 수 있습니다 . 로그인/가입 페이지는 디자인을 제외하고 기본값과 비슷합니다.
class RegistrationsController < Devise::RegistrationsController
def new
super
logger.debug"--------------------------------"
logger.debug session.inspect
logger.debug params.inspect
logger.debug resource
logger.debug"--------------------------------"
end
def create
super
logger.debug"-----------------------------------"
logger.debug session.inspect
logger.debug params.inspect
logger.debug resource.inspect
logger.debug"-----------------------------"
end
end
내가 고안에서 요청 된 URL을하는 방법에 대한 단서가 없다 :
나는 유증의 기본 등록 컨트롤러를 overided있다. 나는 새로운 액션 동안 세션 변수에서 그것을 볼 수 있지만, 한번은 그것을 찾을 수 없다.
Devise의 생성 작업에서 요청한 URL을 가져 와서 저장할 수 있습니까?
그것은 내가 원하는 일을하지만 분명히, 그것은 세션에서 # {범위} _return_to을 읽는 것하고 즉시 삭제. 나는 가입 후에 URL을 얻거나 사용자가 원래 URL로 리다이렉트시키지 않도록한다. 나는 둘 다 필요하며 그 위에, 나는 다른 종류의 사용자를 사용할 것이기 때문에 완벽하게 작동하는 장치가 필요하다. : 그러나 당신의 대답은 올바른 길로 가고있다. 내가 업데이트 할 것이다. – Syl
나는 대답 : – jokklan