나는 나쁜 아이였으며 부분 템플릿을 렌더링 할 때 : locals 해시에 값이 명시 적으로 정의되지 않은 경우 부분 템플릿에서 다음 구문을 사용하여 로컬 변수의 기본값을 설정했습니다.
<% foo = default_value unless (defined? foo) %>
이것은 통과되지 않은 변수가 정의되지 않은 것이 아닌 nil로 정의 된 것처럼 행동하기 시작한 이유가 무엇인지 알 수없는 최근까지도 잘 작동하는 것처럼 보였습니다.
SO에서 다양한 도움을받은 사람들이 지적했듯이 http://api.rubyonrails.org/classes/ActionView/Base.html 은 사용 하지 말라고 합니다.
defined? foo
대신에
local_assigns.has_key? :foo
내 방식을 수정하려고하지만 많은 템플릿을 변경하는 것을 의미합니다.
미리 청구하고 모든 템플릿에서이 변경을 수행 할 수 있습니까? 주의해야 할 까다로운 점이 있습니까? 각 테스트를 얼마나 부지런히해야합니까?