तत्व आपकी अपेक्षा से अधिक गहरे नेस्टेड प्रतीत होते हैं। अपना कोड इसमें बदलें:
# use '{ }' instead of 'do end' for a single-line blocks
tasksByDate = tasks.sort_by { |task| task.first[:date].to_date }
व्याख्या:
आप p task
. के आउटपुट के रूप में क्या देखते हैं :
[#<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">]
इसका मतलब है कि यह तत्वों का एक ऐरे है। संलग्न ब्रेसिज़ पर ध्यान दें [ ]
. तो इस मामले में आपको क्या करना है task.first
, जो वापस आ जाएगा:
#<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">
वहां से आप तत्व के मूल्यों को एक कुंजी द्वारा एक्सेस करने में सक्षम होना चाहिए, जैसा कि आप चाहते हैं:
task.first[:date]