Tigraine
Tigraine

Reputation: 23648

Ember.js ArrayController not Binding to correct controller?

I am experimenting around with integrating Ember.Data into my application and also wanted to find out how to propery use ArrayController. Unfortunately I didn't even get around simple databinding on the controller.

I simply can't figure out where I went wrong, so I fully expect someone to be able to point out: Hey you wrote .extend instead of .create

I am trying something rather similar to what Discouse is doing in their AdminSiteSettings:

The controller in question:

App.UsersController = Ember.ArrayController.extend({
    foo: 'bar'
});

route:

App.UsersRoute = Ember.Route.extend({
    model: function () {
        var users = App.User.find();
        return users;
    },
    setupController: function (controller, model) {
        controller.set('model', model);
        console.log(controller.get('foo'));  // this works correctly => bar
    }
});

Only problem: The template is being rendered, but I can't bind to the foo property:

<script type="text/x-handlebars" data-template=name="users">
    We render the correct template
    {{foo}}
</script>

Only problem is: The Template never renders 'bar'. It's just empty.

Now I found something similar in Discourse where they have a textbox bound to filter: https://github.com/discourse/discourse/blob/master/app/assets/javascripts/admin/controllers/admin_site_settings_controller.js

I can't really understand why my controller property is not showing up, (and yes I am actually trying to get Ember.data to work, but since this can easily be reproduced without it I figured I'd settle for the simple foo: bar property :(

Versions in use:

Any pointers are welcome. Thanks!

Upvotes: 1

Views: 156

Answers (1)

intuitivepixel
intuitivepixel

Reputation: 23322

I don't know exactly where you app fails, but I have tried to recreate your use case and in this example jsbin it's working correctly, have a look.

Hope it helps.

Upvotes: 2

Related Questions