2010-02-22 2 views
1

레일에서 중첩 된 관계의 특정 매개 변수가 로그 파일에 들어가는 것을 방지하려면 어떻게해야합니까 - 큰 파일을 db의 열에 쓰고 레일을 쓰지 않으려 고합니다. 그 로그 파일에 .. 내가 filter_parameter_logging 알고 있지만 그것은 중첩 모델에 대한 작동하지 않는 것 - 난 그냥 잘못된 지점에 퍼팅 수 있습니다?레일은 중첩 된 객체의 로그 특성을 기록하지 않도록합니다.

답변

2

레일스 코드에 따르면 중첩 된 매개 변수 해시에도 적용됩니다. 컨트롤러에서 filter_parameters 메서드를 구현하여 문제를 해결할 수 있습니다. 자세한 내용은 this 스레드를 읽으십시오. 편의를 위해 위 스레드의 코드를 게시했습니다.

def filter_parameters(unfiltered) 
    return unfiltered unless params[:action] == 'payment' 
    filtered = unfiltered.dup 
    filtered[:creditcard] = unfiltered[:creditcard].dup 
    filtered[:creditcard][:number] = '[FILTERED]' 
    filtered[:creditcard][:type] = '[FILTERED]' 
    filtered 
    end 
관련 문제