이제는 devise gem을 추가하고 구성했습니다. 내 양식의 자동 저장 AJAX 호출을 차단하는 것 외에는 큰 효과가 있습니다. 내 컨트롤러의 상단에 AJAX Through Devits (Rails)
, 내가 가진 :before_filter :authenticate_user!
내 AJAX 호출이 동일한 컨트롤러에 관해서 :
def autosave
#TODO: update relative entry
#TODO: verify user logged in
#TODO: verify entry belongs to relative user
render content_type: 'text/xml', inline: "<result status='ok' />"
end
은 물론 내가 대신과 같이 내 앞에 필터를 선언 할 수 :
before_filter :authenticate_user!, except: :autosave
.. 그러나이 기능은 아무도이 컨트롤러 기능을 다른 팀에서 호출하지 못하도록 차단합니다 이자형.
이 함수를 호출하는 가장 좋은 방법은 무엇입니까? 나는 여전히 로그인 한 사용자 만 전화를 걸 수 있으며 편집중인 주어진 레코드가 해당 통화에 속하는지 확인할 수 있습니다.
전화가 AJAX (정확하게 CKEDITOR 형식이어야 함)에서오고 Rails 링크가 아닌 것이므로 current_user.nil처럼 보입니까? 항상 true를 반환합니다. 전달해야하는 특정 매개 변수가 있습니까? – kwikness
current_user는 정확히 무엇을 반환합니까? – kwikness
보안 토큰에 대한 업데이트 된 답변을 확인하십시오. – Noz