Doug R
Doug R

Reputation: 5779

Ember rendering only the root template

I am trying to set up an ember app, but am recieving some strange behavior. I have two routes set up: "welcome", which is mapped to "/"; and "features", which is mapped to "/features". When navigating to "/", the welcome template correctly renders. But, when I navigate to "/features", it still renders the welcome template.

This jsbin actually works correctly: http://jsbin.com/OSoFeYe/1 , but the code below, which is from my app, does not.

App.Router.map(function() { 
this.route("welcome", {path: "/"}); 
this.resource("features", {path: "/features"}, function() {
    this.route("new");
    });
});

App.FeaturesIndexRoute = Ember.Route.extend({

});



<body>
  <div class="container">

<script type="text/x-handlebars">
<h1>rendered application template</h1>
{{outlet}}
</script>

<script type="text/x-handlebars" data-template-name="features">
<h2>Render features</h2>

<h6>Done features template</h6>
</script>

<script type="text/x-handlebars" data-template-name="welcome">
<h2>Render welcome</h2>
</script>
</div>
</body>

Any insight to this issue would be appreciated.

Upvotes: 0

Views: 149

Answers (3)

reknirt
reknirt

Reputation: 2254

Add the following to your js file and you won't need the hash anymore.

App.Router.reopen({
  location: 'history'
});

Upvotes: 2

Doug R
Doug R

Reputation: 5779

Ok, I think I see the issue here, and it's based on my misunderstanding of how ember routes work. I need to include a hash in my url. So my features url is /#/features, not /features.

Upvotes: 0

reknirt
reknirt

Reputation: 2254

Take the code from your jsbin and stick it in your app, you probably have a typo or some block of code where you shouldn't. I edited your "welcome" template to have the following link in the jsbin and it worked perfectly for me.

<script type="text/x-handlebars" data-template-name="welcome">
  <h2>rendering welcome template</h2>
  {{#linkTo "features"}}features{{/linkTo}}
</script>

In the welcome link it has a link that says "features" directly below the text "rendering welcome template". And when you click the link it says "rendering features template".

Upvotes: 0

Related Questions