2012-10-13 3 views
0

안녕하세요 저는 초보자이며 영어가 능숙하지 않습니다. 그래서 일부 말도 안되는 소리가 있다면 이해 해주십시오 ..레일 페이지 길이 및 페이지로드 속도를 절약하는 가장 좋은 방법

모든 페이지에서 로딩 속도와 페이지 길이를 기록하려고합니다. "페이지"모델에서 데이터베이스 "페이지"와 "저장 페이지"를 만들었습니다. 모든 페이지를 저장하려면 응용 프로그램 컨트롤러에 "savepage"메서드를 넣습니다.

Page.rb

def self.savepage 
    . 
    . 
    . 
end 

application_controller.rb

before_filter :dosave 
def dosave 
    Page.savepage 
end 

형식의 이러한 종류의 ..

내 질문은 내가 올바른을 1. 오전거야? before_filter를 사용하여로드 프로세스의 첫 번째 단계에서 저장합니까? 2. 페이지의 모든 내용을로드 한 후 저장하려면 어떻게해야합니까? 3. 사용자가이 페이지를 떠난 후 저장하려면 어떻게해야합니까?

나는 before_destroy와 after_filter를 보았지만 그것이 무엇인지는 알 수 없습니다 ... 필터 란 무엇을 의미합니까 ... 어떤 행동은 파괴를 의미합니다 .... 미리 감사드립니다!

답변

0

before_filter은 컨트롤러에 요청하기 전에로드되는 첫 번째 것입니다. 그러나 필요는 완전히 다릅니다. 근본적으로 필터는 부울 검사를 사용합니다. 특정 방법이 사실이라면 그렇지 않을 수도 있습니다. 이 필터는 더 확장되어 그 필터에 코드를 넣습니다. (때로는 모범 사례로 고려됩니다).

이제 before_filter :dosave일 수 있지만은 페이지 (UI)로드 프로세스를 알지 못합니다. 자바 스크립트 호출을 사용하거나 수동으로 생성 된 헬퍼 메소드를 사용하여 뷰 .erb 파일에 배치하는 것이 좋습니다.

이 당신에게 어떤 조치를 의미
https://github.com/grosser/record_activities
Log user activities in ROR

관심을 끄는이 될 수 있습니까?

Action Controller is the C in MVC. After routing has determined which controller to use for a request, your controller is responsible for making sense of the request and producing the appropriate output. Luckily, Action Controller does most of the groundwork for you and uses smart conventions to make this as straightforward as possible.
출처 : http://guides.rubyonrails.org/action_controller_overview.html 내가보기 엔 당신이 위의 설명서를 참조하는 것이 좋습니다. 너에게 꼭 필요한 주제가 여기에있다. " 그리고 한 가지 더,

액션은 무엇을 파괴 하는가?

이것은 단순히 새로운 동작 방식입니다. 이후 레일은 Convention over configuration (그리고 그 개발자도)을 따라 코드를 넣어서 deletedestroy이나 파괴를합니다. 이것은 간단하다. 그렇지 않으면 레일 정책에 위배되는 더 많은 구성이 필요하다.

+0

많은 도움이됩니다. 상세한 설명을위한 감사합니다 : D –