Tôi nghĩ rằng bạn chỉ hơi bối rối với đầu ra của bảng điều khiển.
Bạn đang nói điều này:
Summary.select("date(created_at) as date, sum(implemented_features)")...
vì vậy Summary
được trả về phiên bản (được gói gọn trong một ActiveRecord::Relation
) không có bất kỳ Summary
thông thường nào thuộc tính:no id
, không có created_at
, không có implemented_featured
, v.v. Khi bạn gọi inspect
trên một đối tượng ActiveRecord, nó muốn cho bạn thấy những gì bên trong đối tượng và điều đó có nghĩa là nó muốn hiển thị cho bạn các thuộc tính cơ sở dữ liệu được chứa; Summary
của bạn các phiên bản không có bất kỳ thuộc tính thông thường nào nên bạn sẽ thấy những thứ như <Summary id: nil>
.
Đừng sợ, những giá trị bạn đã chọn thực sự ở đó. Nếu bạn nói:
Summary.select(...).map(&:date)
bạn sẽ thấy date(created_at) as date
các giá trị. Nếu bạn thêm bí danh cho sum(implemented_features)
thì bạn có thể trích xuất tổng bằng cách sử dụng bí danh đó làm tên phương thức.