2011-12-13 5 views
0

특정 변수를 기반으로 HTML을 다르게 렌더링하는 해시가 있습니다. 변수가 해시 내에 있습니다. 그래서 그룹에 해시 값을 전달할 수있는 방법이 궁금합니다. 내가 시도하고있는 나머지 heres를 분류하기 위해, 아마 이것은 내가 그것을 표현하는 것보다 잘 설명 할 것이다.jRuby/Rails 다른 해시 값으로 해시 정렬

<% grouped = svcs.group_by { |svc| svc[val[:sorttype]] } %> 

val은 다차원 해시입니다. 처음 두 키 값 쌍 sorttype과 다른 하나는 간단한 키와 값이고, 세 번째 조각 (svcs)은 2D 해시의 equivilent를 포함합니다. 어떤이 즉 작동에 의해 내가 직접 내가 그룹을 위해 적용 할 종류의 유형을 입력하면 :

내가 비슷한 예를 알고있는 PHP에서
<% grouped = svcs.group_by { |svc| svc[:service_name] } %> 

내가 이런 일에 어떤 종류의 변수를 전달할 수 있습니다 그것을 작동 시키십시오. 나는 그런 경우가 여기 있다고 가정한다. 그러나 변수를 넣는 방법을 모르겠다. Ive가 시도한 모든 방법이 작동하지 않기 때문에

답변

1

조금씩 다릅니다.

레일즈는 문자열과 기호 키를 구분하지 않는 HashWithIndifferentAccess을 가지고 있습니다. 당신이 그 중 하나를 사용한다면, 그것은 그대로 작동해야합니다.

val 항목이 무엇인지에 따라 다릅니다. 문자열 인 경우 to_sym을 사용하는 기호로 변환합니다 (예 : svc[val[:sorttype].to_sym]).

+0

정확히 내가 필요한 것. 그 to_sym 비트. 그것을 추가하는 것은 그것을 해결했다. 다시 한번 고마워. :-D – chris

+1

@chris 문제 없습니다. 사람들이 가끔씩 올라간다. –

관련 문제