2015-12-05 118 views
0

JSON輸出我想換一個請求的JSON輸出,現在它正在創建記錄時安排,按日期排列

{"id":1,"title":"The Town","release_date":"2010-10-21","image":"/zX4fKmDXKGt4hlzhAJirdlRKFgO.jpg","user_id":null,"created_at":"2015-12-04T19:57:58.449Z","updated_at":"2015-12-04T19:57:58.449Z","movie_id":"23168","imdb_rating":"7.6"}, 
{"id":2,"title":"Interstellar","release_date":"2014-11-06","image":"/nBNZadXqJSdt05SHLqgT0HuC5Gm.jpg","user_id":null,"created_at":"2015-12-04T19:58:16.600Z","updated_at":"2015-12-04T19:58:16.600Z","movie_id":"157336","imdb_rating":"8.7"}, 
{"id":3,"title":"Django Unchained","release_date":"2013-01-16","image":"/5WJnxuw41sddupf8cwOxYftuvJG.jpg","user_id":null,"created_at":"2015-12-04T20:00:22.411Z","updated_at":"2015-12-04T20:00:22.411Z","movie_id":"68718","imdb_rating":"8.5"}, 
{"id":4,"title":"Moonrise Kingdom","release_date":"2012-05-30","image":"/uw88gWDC0W7AAEhMeQmtdXFV7yR.jpg","user_id":null,"created_at":"2015-12-04T20:00:41.054Z","updated_at":"2015-12-04T20:00:41.054Z","movie_id":"83666","imdb_rating":"7.8"}, 
{"id":5,"title":"Gone Girl","release_date":"2014-10-01","image":"/gdiLTof3rbPDAmPaCf4g6op46bj.jpg","user_id":null,"created_at":"2015-12-05T09:05:08.424Z","updated_at":"2015-12-05T09:05:08.424Z","movie_id":"210577","imdb_rating":"8.2"} 

但我想安排產品上市日期的數據,所以它看起來是這樣的,

{"id":1,"title":"The Town","release_date":"2010-10-21","image":"/zX4fKmDXKGt4hlzhAJirdlRKFgO.jpg","user_id":null,"created_at":"2015-12-04T19:57:58.449Z","updated_at":"2015-12-04T19:57:58.449Z","movie_id":"23168","imdb_rating":"7.6"}, 
{"id":4,"title":"Moonrise Kingdom","release_date":"2012-05-30","image":"/uw88gWDC0W7AAEhMeQmtdXFV7yR.jpg","user_id":null,"created_at":"2015-12-04T20:00:41.054Z","updated_at":"2015-12-04T20:00:41.054Z","movie_id":"83666","imdb_rating":"7.8"}, 
{"id":3,"title":"Django Unchained","release_date":"2013-01-16","image":"/5WJnxuw41sddupf8cwOxYftuvJG.jpg","user_id":null,"created_at":"2015-12-04T20:00:22.411Z","updated_at":"2015-12-04T20:00:22.411Z","movie_id":"68718","imdb_rating":"8.5"}, 
{"id":5,"title":"Gone Girl","release_date":"2014-10-01","image":"/gdiLTof3rbPDAmPaCf4g6op46bj.jpg","user_id":null,"created_at":"2015-12-05T09:05:08.424Z","updated_at":"2015-12-05T09:05:08.424Z","movie_id":"210577","imdb_rating":"8.2"} 
{"id":2,"title":"Interstellar","release_date":"2014-11-06","image":"/nBNZadXqJSdt05SHLqgT0HuC5Gm.jpg","user_id":null,"created_at":"2015-12-04T19:58:16.600Z","updated_at":"2015-12-04T19:58:16.600Z","movie_id":"157336","imdb_rating":"8.7"}, 

這可以做到使用Ruby on Rails嗎?

*編輯*

我用上面的JSON數據,將其放置到名爲movies一個$範圍。然後我用ng-repeat輸出數據。我不能在重複中使用orderBy,因爲我將我的物品放在行中。但是我認爲如果我改變$scope.movies中的順序,所以使用javascript重新排列順序也是可行的。

回答

1

假設你的工作JSON,你可以使用

json_array.sort_by { |json| Time.parse(json['release_date']) }

2筆記這裏:

  1. Time.parse每個產品的開銷(效果會更好)排序前做(但是對於小集合,這不是問題)
  2. release_date不是一個日期,但時間...這是有點尷尬。 ;)
+0

我不知道如何實現您的代碼。它看起來像JavaScript,但我希望有一個Ruby on Rails解決方案。如果是JS,那麼我將如何使用它? –

+0

它的導軌代碼 'json_array'是您列出的項目的數組。 'sort_by'是ruby中所有數組可用的方法(http://ruby-doc.org/core-2.2.0/Array.html)。一般來說,它會根據您傳遞給它的塊的結果來獲取所有項目和排列數組。 – djaszczurowski

+0

我很抱歉,但這有點讓我頭痛。第一個問題,代碼是否進入movies_controller.rb文件,然後是索引定義? –