를 조회 할 가상 필드를 추가, 나는이 다음을 작성했습니다 결과. sqlite에서 쿼리를 실행하면 표시됩니다. Address 모델에 가상 속성을 추가했지만 이것이 도움이되지 않습니다. 이 문제를 해결하는 방법? 또한 어떻게 성능을 향상시키기 위해 결과
이 내 레일 콘솔 출력 :1.9.3p194 :010 > a = Address.joins(:vacancies).select("addresses.city, count(*) as total_count").group("addresses.city").order("total_count DESC")
Address Load (3.9ms) SELECT addresses.city, count(*) as total_count FROM "addresses" INNER JOIN "vacancies" ON "vacancies"."address_id" = "addresses"."id" GROUP BY addresses.city ORDER BY total_count DESC
=> [#<Address city: "Amsterdam">, #<Address city: "Rotterdam">, #<Address city: "Utrecht">, #<Address city: "Den haag">, #<Address city: "Delft">, #<Address city: "Hilversum">, #<Address city: "Amstelveen">, #<Address city: "Rijswijk">, #<Address city: "Breda">, #<Address city: "Zwolle">, #<Address city: "Tilburg">, #<Address city: "Amersfoort">, #<Address city: "Amsterdam centrum">, #<Address city: "Eindhoven">, #<Address city: "Next nature netwerk, amsterdam">, #<Address city: "Almere">, #<Address city: "Ameide">, #<Address city: "Arnhem">, #<Address city: "Baarlo">, #<Address city: "Capelle a/d ijssel">, #<Address city: "De lier">, #<Address city: "Leiden">, #<Address city: "Reigerstraat 16, breda">, #<Address city: "Rottedam">, #<Address city: "'s-hertogenbosch ">, #<Address city: "Alkmaar">, #<Address city: "Alphen aan den rijn">, #<Address city: "Amsterdam singel 137">, #<Address city: "Amsterdam, keizergracht">, #<Address city: "Barendrecht">, #<Address city: "Den haag e.o.">, #<Address city: "Deventer">, #<Address city: "Dordrecht">, #<Address city: "Groningen">, #<Address city: "Gummo, amsterdam">, #<Address city: "Hillversum">, #<Address city: "Houten">, #<Address city: "Lisse">, #<Address city: "Moti, breda">, #<Address city: "Nijmegen">, #<Address city: "Rotterdam ">, #<Address city: "Tuil (waardenburg)">, #<Address city: "Zaltbommel">]
1.9.3p194 :011 > a.first.total_count
=> nil
1.9.3p194 :012 > a.first.to_json
=> "{\"city\":\"Amsterdam\",\"total_count\":null}"
attr_accessible에서 total_count를 제거했지만, 여전히 'a.first.total_count'를 통해 총 수에 액세스 할 수 없습니다. 작동하는 것은'a.first.attributes [ 'total_count']'입니다. 'to_json'을 사용하라는 제안은 모든 total_count 속성이 nill 인 json 객체를 반환합니다.attr_accessible 또는 attr_accessor/attr_reader/attr_writer의 –
? 이런 맥락에서 두 번째로 많은 것이 나쁘다. –
오, 물론 그렇습니다. Tnx, 그 트릭을 했어!. –