Skip to content

Commit f671e3c

Browse files
authored
Merge pull request #1334 from ember-learn/deprecate-implicit-route-model
Deprecate implict route model
2 parents dd2d7fb + b1d4e23 commit f671e3c

File tree

5 files changed

+93
-36
lines changed

5 files changed

+93
-36
lines changed

app/templates/index.hbs

Lines changed: 55 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
<div id="content" class="main" role="main">
2-
<div class="intro">
3-
<h1 class="anchorable-toc" id="toc_deprecations">Deprecations</h1>
1+
<div id='content' class='main' role='main'>
2+
<div class='intro'>
3+
<h1 class='anchorable-toc' id='toc_deprecations'>Deprecations</h1>
44
<p>Periodically, various APIs in Ember.js may be deprecated. During a minor
55
release, for instance when upgrading from version 1.9 to 1.10, you may see
66
new deprecations fire in your codebase. Until a major revision such as 2.0
@@ -9,15 +9,15 @@
99
removed. Private API may be removed at any time without warning in patch
1010
or minor releases, regardless of whether it has a deprecation warning.
1111
This style of change management is commonly referred to as
12-
<a href="http://semver.org/">Semantic Versioning</a>.
12+
<a href='http://semver.org/'>Semantic Versioning</a>.
1313
</p>
1414

1515
<p>
1616
You can use newer versions of the CLI with older Ember apps. It's a good
1717
idea to resolve deprecations as they arise so that when a major version is
1818
available, it's easier to upgrade your app. For some significant changes,
1919
codemods may be available, so check out
20-
<a href="https://emberjs.com/blog/">
20+
<a href='https://emberjs.com/blog/'>
2121
Release Blog Posts
2222
</a>
2323
before you dive in.
@@ -26,54 +26,73 @@
2626
<p>
2727
If you want to contribute to the text on this website, by editing existing
2828
deprecation documenation or adding new documentation, please see the
29-
<a href="https://github.com/ember-learn/deprecation-app">deprecations app repository</a>.
29+
<a href='https://github.com/ember-learn/deprecation-app'>deprecations app
30+
repository</a>.
3031
</p>
3132

32-
<h2 class="anchorable-toc" id="toc_ember">Versions</h2>
33+
<h2 class='anchorable-toc' id='toc_ember'>Versions</h2>
3334
</div>
3435

35-
<ul class="ember-version-graphics">
36-
<li class="item list-unstyled">
37-
<EmberVersionGraphic @mascot="ember" />
38-
<ul class="links">
39-
<li class="list-unstyled" data-test-ember-1-link>
40-
<LinkTo @route="ember" @model="v1.x">v1.x</LinkTo>
36+
<ul class='ember-version-graphics'>
37+
<li class='item list-unstyled'>
38+
<EmberVersionGraphic @mascot='ember' />
39+
<ul class='links'>
40+
<li class='list-unstyled' data-test-ember-1-link>
41+
<LinkTo @route='ember' @model='v1.x'>v1.x</LinkTo>
4142
</li>
42-
<li class="list-unstyled" data-test-ember-2-link>
43-
<LinkTo @route="ember" @model="v2.x">v2.x</LinkTo>
43+
<li class='list-unstyled' data-test-ember-2-link>
44+
<LinkTo @route='ember' @model='v2.x'>v2.x</LinkTo>
4445
</li>
45-
<li class="list-unstyled" data-test-ember-3-link>
46-
<LinkTo @route="ember" @model="v3.x">v3.x</LinkTo>
46+
<li class='list-unstyled' data-test-ember-3-link>
47+
<LinkTo @route='ember' @model='v3.x'>v3.x</LinkTo>
4748
</li>
48-
<li class="list-unstyled" data-test-ember-4-link>
49-
<LinkTo @route="ember" @model="v4.x">v4.x</LinkTo>
49+
<li class='list-unstyled' data-test-ember-4-link>
50+
<LinkTo @route='ember' @model='v4.x'>v4.x</LinkTo>
51+
</li>
52+
<li class='list-unstyled' data-test-ember-5-link>
53+
<LinkTo @route='ember' @model='v5.x'>v5.x</LinkTo>
5054
</li>
5155
</ul>
5256
</li>
53-
<li class="item list-unstyled">
54-
<EmberVersionGraphic @mascot="ember-cli" />
55-
<ul class="links">
56-
<li class="list-unstyled" data-test-ember-cli-2-link>
57-
<LinkTo @route="show" @models={{array "ember-cli" "v2.x" }}>v2.x</LinkTo>
57+
<li class='item list-unstyled'>
58+
<EmberVersionGraphic @mascot='ember-cli' />
59+
<ul class='links'>
60+
<li class='list-unstyled' data-test-ember-cli-2-link>
61+
<LinkTo
62+
@route='show'
63+
@models={{array 'ember-cli' 'v2.x'}}
64+
>v2.x</LinkTo>
5865
</li>
59-
<li class="list-unstyled" data-test-ember-cli-4-link>
60-
<LinkTo @route="show" @models={{array "ember-cli" "v4.x" }}>v4.x</LinkTo>
66+
<li class='list-unstyled' data-test-ember-cli-4-link>
67+
<LinkTo
68+
@route='show'
69+
@models={{array 'ember-cli' 'v4.x'}}
70+
>v4.x</LinkTo>
6171
</li>
6272
</ul>
6373
</li>
64-
<li class="item list-unstyled">
65-
<EmberVersionGraphic @mascot="ember-data" />
66-
<ul class="links">
67-
<li class="list-unstyled" data-test-ember-data-2-link>
68-
<LinkTo @route="show" @models={{array "ember-data" "v2.x" }}>v2.x</LinkTo>
74+
<li class='item list-unstyled'>
75+
<EmberVersionGraphic @mascot='ember-data' />
76+
<ul class='links'>
77+
<li class='list-unstyled' data-test-ember-data-2-link>
78+
<LinkTo
79+
@route='show'
80+
@models={{array 'ember-data' 'v2.x'}}
81+
>v2.x</LinkTo>
6982
</li>
70-
<li class="list-unstyled" data-test-ember-data-3-link>
71-
<LinkTo @route="show" @models={{array "ember-data" "v3.x" }}>v3.x</LinkTo>
83+
<li class='list-unstyled' data-test-ember-data-3-link>
84+
<LinkTo
85+
@route='show'
86+
@models={{array 'ember-data' 'v3.x'}}
87+
>v3.x</LinkTo>
7288
</li>
73-
<li class="list-unstyled" data-test-ember-data-4-link>
74-
<LinkTo @route="show" @models={{array "ember-data" "v4.x" }}>v4.x</LinkTo>
89+
<li class='list-unstyled' data-test-ember-data-4-link>
90+
<LinkTo
91+
@route='show'
92+
@models={{array 'ember-data' 'v4.x'}}
93+
>v4.x</LinkTo>
7594
</li>
7695
</ul>
7796
</li>
7897
</ul>
79-
</div>
98+
</div>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
title: Implicit Route Model
3+
until: 6.0.0
4+
since: 5.3.0
5+
---
6+
7+
Previously, if no `Route#model` hook was specified and a `_id` parameter was present, Ember would attempt to figure out how to load that model for you. Specify your own model hook to load from the store, if desired.
8+
9+
For example:
10+
11+
```js
12+
import { Route } from '@ember/routing/route';
13+
import { service } from '@ember/service';
14+
15+
export default class MyModelRoute extends Route {
16+
@service store;
17+
18+
model({ my_model_id }) {
19+
return this.store.findRecord('my-model', my_model_id);
20+
}
21+
}
22+
```
23+
24+
For more background, read the [RFC](https://github.com/snewcomer/rfcs/blob/master/text/0774-implicit-record-route-loading.md).

ember-cli-build.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ module.exports = function (defaults) {
2020
prember: {
2121
urls: [
2222
'/',
23+
'/v5.x',
2324
'/v4.x',
2425
'/v3.x',
2526
'/v2.x',
2627
'/v1.x',
28+
'/ember/v5.x',
2729
'/ember/v4.x',
2830
'/ember/v3.x',
2931
'/ember/v2.x',

lib/content-docs-generator/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const contentFolders = [
1010
'ember/v2',
1111
'ember/v3',
1212
'ember/v4',
13+
'ember/v5',
1314
'ember-data/v2',
1415
'ember-data/v3',
1516
'ember-data/v4',

tests/acceptance/visual-regression-test.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,17 @@ module('Acceptance | visual regression', function (hooks) {
9090

9191
await percySnapshot('ember-cli-4.x');
9292

93+
// v5.x Ember
94+
await click('[data-test-main-deprecations-link]');
95+
await click('[data-test-ember-5-link] > a');
96+
97+
assert
98+
.dom('[data-test-deprecations-added-in]')
99+
.hasText('Deprecations Added in Ember 5.x');
100+
101+
await percySnapshot('ember-5.x');
102+
103+
// Individual page
93104
await visit('/id/ember-polyfills-deprecate-assign');
94105
assert.dom('h1').hasText('Deprecation Guide for Ember.assign');
95106
await percySnapshot('individual-deprecation-page');

0 commit comments

Comments
 (0)