2
Ruby를 처음 사용하기 때문에이를 잘못 접근 할 수 있습니다.Ruby : 해시를 반복하고 표시 할 마크 업과 데이터를 결정하기위한 키가 있는지 확인하십시오.
해시를 통해 내용을 표시하려고합니다. 해시를 거치면서 도시와 같은 키가 있는지 테스트해야합니다. 도시가 존재하지 않으면 주소가 표시되지 않아야합니다.
# app.rb
set :haml, :format => :html5
get "/" do
@users = Hash[
[["name", "bill"], ["city", "nyc"], ["address", "street"]],
[["name", "ted"], ["city", "denver"]],
[["name", "sam"], ["address", "road"]]
]
haml :index
end
내가 해시 통해 반복하고 방법이있다 : 이것은 내가 내 해시 구축을 시작했습니다 곳이다
# layout.haml
- @users.each do |user|
- user.each do |u|
- u.each do |b|
= b
내가 좋아하는이 모든 콘텐츠를 표시합니다 b에 일단 그래서 :
내가 주소가 도시가 ㄱ해야 할 수있는 마크 업뿐만 아니라 표시 여부를 결정하기 위해 각 사용자에 대해 존재하는지 이름뿐만 아니라 수표를 표시하는 방법 루프에서["name", "bill"]
["city", "nyc"]
["address", "street"]
["name", "ted"]
["city", "denver"]
, 전자가 추가 되었습니까? 다음과 같이 표시하는 것이 이상적입니다.
<p>bill, <span class="address">nyc, street</span></p>
<p>ted</p>
<p>sam, <span class="address">road</span></p>
해시를 제대로 만들면 어떻게됩니까? 대신 당신이 user
해시 포함하는 배열을 가지고, 더 나은 것 해시 내부 중첩 배열으로 무엇을하려고의
이 문제를 해결해야했습니다. 3 행에서 마지막 has_key는'(: city)'이어야하고'[: city] '가 아니어야합니다. 도움을 주셔서 감사합니다. – superboringusername
그래, 그건 실수 였어. – Mischa