2014-12-17 2 views
1

나는 이것이 약간의 단촉재라는 것을 알고 있지만, 새로운 것을 사용하려고 할 때마다 하루 종일 얼굴을 응시하고 있습니다. config/secrets.yml 파일. 그것은 단지 내 코드를 추악하게 만들고 있습니다. 나는 덜 표준적인 것으로 옮기는 것이 내 프로젝트를 이해하려고하는 누군가에게 문제가 될 수 있다는 것을 알고있다. 그러나이 프로젝트는 꽤 사적이며 나는 그것에 대해 연구하는 유일한 사람이다.가독성을 위해 Rails.application.secrets에 대한 호출 시간을 단축하십시오.

ActiveSupport::OrderedOptions의 인스턴스 인 것 같습니다. 따라서 alias으로 보일 수 없습니다.

SECRET에서 Rails.application.secrets으로 별칭을 지정하면 SECRET.some_key을 호출하여 반환 값을 얻을 수 있습니까?

나는 해결책을 찾고 그 :

덕분에 엄청나게 많은 수를 제로 보안에 미치는 영향에

  • 최소한 가지고 최소한의 성능에 미치는 영향이있다!

  • +1

    'Rails.application.secrets'를 어딘가에'SECRET'이나'@cookie'에 지정하는 것이 어떻겠습니까? 'SECRET = Rails.application.secrets'는 나를 위해 콘솔에서 작동합니다; 그러면 SECRET.secret_key_base 등을 액세스 할 수 있습니다. –

    +0

    와우! 나는 그것이 그렇게 단순 할 것이라고는 생각하지 못했습니다. 나는 단지 프로젝트의 모든 곳에서 액세스 할 수있는'config/application.rb' 파일에 추가한다고 덧붙이고 싶습니다. 답변으로 제출하시는 것이 좋으면 답을 기꺼이 표시해 드리겠습니다. 비록 내가 생각하지 못하는 잠재적 인 보안 함의가 있다면 다른 사람들의 의견을 듣고 싶습니다. 감사! – counterbeing

    답변

    0

    Rails.application.secretsSECRET 또는 @secret 어딘가에 할당하지 않는 이유는 무엇입니까?

    SECRET = Rails.application.secrets 
    

    은 콘솔에서 작동합니다. 당신이 SECRET 상수의 미학을 좋아하지 않는 경우 그때 나는 등

    0

    또 다른 방법을 SECRET.secret_key_base에 액세스 할 수 있습니다

    module Secret 
        def self.for 
        Rails.application.secrets 
        end 
    end 
    

    이 단축

    Rails.application.secrets.my_value 
    

    에 :

    Secret.for.my_value 
    
    관련 문제