0

内部ハッシュ内の特定のキーの値に基づいて解析および表示したいWebサイトAPIによって返されたハッシュのJSONハッシュがあります。

これを実現するソリューションを考えることはできますが、数行のコードが必要であり、効率的ではないようです。設定より規約に焦点を当てていることを考えると、確かにRailsでネイティブに行う方法が必要です。私は少しググってみましたが、この問題をカバーするものは何も見つかりませんでした。

APIからのサンプル応答:

[{"banner":"01197271","birthday":"1991-01-11","committee_id":1,"created_at":"2012-08-08T01:56:02-05:00","email":"me@example.com","first_name":"Dan","graduation_date":"May 2013","hometown":"San Antonio","hours_enrolled":15,"id":2,"image":{"url":null,"thumb":{"url":null},"large":{"url":null}},"invitation_accepted_at":null,"invitation_limit":null,"invitation_sent_at":null,"invitation_token":null,"invited_by_id":null,"invited_by_type":null,"last_name":"Tester","local_apt":"","local_city":"San Antonio","local_state":"Texas","local_street":"One UTSA Circle","local_zip":"78249","major":"Computer Science","permanent_apt":"","permanent_city":"","permanent_state":"","permanent_street":"One UTSA Circle","permanent_zip":"","phone":"5558813284","same_address":true,"tour_trained":false,"updated_at":"2012-08-17T03:35:26-05:00","utsa_id":"uoi431"},
{"banner":"","birthday":"1990-10-25","committee_id":null,"created_at":"2012-08-03T16:19:23-05:00","email":"you@example.com","first_name":"Test","graduation_date":null,"hometown":null,"hours_enrolled":null,"id":1,"image":{"url":null,"thumb":{"url":null},"large":{"url":null}},"invitation_accepted_at":null,"invitation_limit":null,"invitation_sent_at":null,"invitation_token":null,"invited_by_id":null,"invited_by_type":null,"last_name":"User","local_apt":"","local_city":"","local_state":"","local_street":"","local_zip":"","major":null,"permanent_apt":"","permanent_city":"","permanent_state":"","permanent_street":"","permanent_zip":"","phone":"","same_address":false,"tour_trained":false,"updated_at":"2012-08-15T10:05:54-05:00","utsa_id":""}]

考えられる解決策は、各内部ハッシュを調べて、関連するキー値の値を決定し、テスト済みのハッシュと比較してキー値が配置されている場所に基づいて保存することです。完了したら、戻ります。

4

2 に答える 2

0

この情報を解析するように設定されたオブジェクトがある場合、それらのオブジェクトはハッシュのパラメーターに基づいて自分自身を構築できます。だからあなたはこのようなことをすることができます

object = MyObject.create(your_hash_parameters)

your_hash_parameters例で示したパラメーターはどこにありますか。

オブジェクトがそれ自体を構築するかどうかにかかわらず、オブジェクトが何をすべきかを知っているよりも多くのパラメータがあった場合に何が起こるかはわかりません。その場合は、このdelete_ifメソッドを使用して、不要な属性を除外できます。

もう1つ注意してください。これがデータベースに保存したいものではなく、一時的な情報を表示するためだけのものである場合。attr_accessors表示している属性を表すモデルを設定します。

于 2012-08-17T08:53:31.770 に答える
0

コメントで述べたように、ActiveResourceオブジェクトを作成し、それに関連するメソッドを追加します。

于 2012-08-17T08:57:42.000 に答える