내 레일 애플 리케이션에서 다음과 같은 방법이 있습니다 :해시에 변수를 사용하려면 어떻게해야합니까?
def navigation_menu(items)
# raise items.class.to_s
# raise items.to_yaml
render partial: 'global/navigation_menu', locals: items
end
메서드의 첫 번째 줄의 주석 처리를 제거하면 해시가 예외 텍스트로 표시되어 items
가 해시임을 증명합니다. 두 번째 줄의 주석 처리를 제거하면 해쉬 멤버가 표시되므로 비어 있지 않습니다.
그 방법은 다음 오류로 실패합니다.
comparison of String with :navigation_menu failed
locals: items
을 locals: { dummy_key: 'dummy value' }
로 바꾸면 작동합니다.
명시 적 해시 대신 items
변수를 사용할 수없는 이유는 무엇입니까?
현재 해결 방법이 있습니다. 그러나 나는 중개 항목'items' 변수를 원하지 않습니다.': ('기본적으로'local_assigns [: items]'을 사용하지 않으려 고 노력하고 있습니다. 왜 그 자리에 하나를 만들지 않고 직접 해시를 전달할 수 없는지 모르겠습니다 . + 1에 관계없이. – ClosureCowboy