これは、json オブジェクトを属性として解析およびバインドするためのものです (変換もありますが、非常に基本的なものです)。
cleanCredentials: ->
creds = @get('credentials')
Object.keys(creds).forEach (key) =>
unless key in @get('selectedDriver').api_keys
delete @get('credentials')["#{key}"]
get_set: ->
key = arguments[0][0]
value = arguments[0][1]
if (arguments[0].length > 1)
@set "credentials.#{key}", value
@cleanCredentials()
@get "credentials.#{key}"
getter_setter = `function(key, value) { return this.get_set(arguments); }.property('credentials')`
apiToken: getter_setter
applicationId: getter_setter
applicationUserId: getter_setter
companyCode: getter_setter
username: getter_setter
それは機能し、理解していますが、より良い方法はありますか?