バックボーンドキュメントから
getmodel.get(attribute)
Get the current value of an attribute from the model. For example: note.get("title")
各国の名前のデータをRailsアプリにシードしました
Country.create!(name: "Brazil")
Country.create!(name: "France")
Country.create!(name: "Germany")
Country.create!(name: "Spain")
コンソールで、新しいコレクションを作成し、データをフェッチしました
countries.fetch();
Object
XHR finished loading: "http://localhost:3000/countries".
長さを確認しました。私が作成した4つの国に等しい。
countries.length
4
アンダースコアのシャッフル方法を使用してランダムなものを選択しました。
c = countries.shuffle()[0]
オブジェクトには名前があります
Backbone.Model
_changes: Array[2]
_currentAttributes: Object
_events: Object
_hasComputed: false
_previousAttributes: Object
attributes: Object
country: Object
created_at: "2013-01-07T06:09:43Z"
id: 2
name: "France"
updated_at: "2013-01-07T06:09:43Z"
__proto__: Object
__proto__: Object
いくつかの異なる方法でオブジェクトからname属性を取得しようとしましたが、すべて成功しませんでした
c.get('name')
undefined
c.get("name");
undefined
c.get("name")
undefined
誰かが私が間違っているかもしれないことを考えることができますか?
私が珍しいと思うことの1つは、他の属性をラップする「国」属性があることです。
attributes: Object
country: Object
created_at: "2013-01-07T06:09:43Z"
id: 2
name: "France"
updated_at: "2013-01-07T06:09:43Z"
'country'が他のデータをラップしている理由がわかりません。国モデルでシードデータを作成したからですか?
Country.create!(name: "Brazil")
とにかく、未定義を返さobj.get('country')
ない
c = countries.shuffle()[0]
k = c.get('country')
Object
created_at: "2013-01-07T06:09:43Z"
id: 3
name: "Germany"
updated_at: "2013-01-07T06:09:43Z"
__proto__: Object
しかし、その後は名前を取得できません(つまり、国に取得した後)
k = c.get('country')
Object
k.get('name')
undefined
国のラッパーを削除して、それが作成された属性を取得できるようにする方法はありますか?