Ember.js: 3.15 рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрд░ рднреНрд░рд╛рдордХ рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рджрд┐рд╕ре░ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: emberjs/ember.js

рдореЗрд░реЗ рдСрдХреНрдЯреЗрди рдкреНрд░рд╡рд╛рд╕рди рд░реЛрдорд╛рдВрдЪ рдХреЗ рджреМрд░рд╛рди рдореИрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ:

index.js:172 Uncaught Error: Assertion Failed: You attempted to generate a link 
for the "cashbook" route, but did not pass the models required for generating 
its dynamic segments. Assertion Failed: The <strong i="6">@action</strong> decorator must be 
applied to methods when used in native classes

Screenshot 2019-12-27 at 22 31 47

рдореИрдВ "рдЬрдирд░реЗрдЯрд┐рдВрдЧ рд▓рд┐рдВрдХ" рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдкрд░ рднреНрд░рдорд┐рдд рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ " @action рдбреЗрдХреЛрд░реЗрдЯрд░" рдореЗрдВ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛, рддреЛ "рдХреИрд╢рдмреБрдХ рд░реВрдЯ" рдкрд░ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЧрдИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ DX рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:
1) рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреЛ рдХреБрдЫ рднреА "рдХреИрд╢рдмреБрдХ рд░реВрдЯ" рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (рдореИрдВ LinkTo рдШрдЯрдХ рдорд╛рдирддрд╛ рд╣реВрдВ?) рдПрдХ рдмрд╛рд░ рдЬрдм рдпрд╣ _some_ рдЕрдкрд╡рд╛рдж рдкрдХрдбрд╝ рд▓реЗрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ models рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рдереЗред
2) рдпрджрд┐ @action рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рджреВрд╕рд░реА рддреНрд░реБрдЯрд┐ рдореБрдЭреЗ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреЗрдд рджреЗрдЧреА рдЬреЛ рдЧрд▓рдд рдереА, рддреЛ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реНрд░реЛрдд рдмрд╣реБрдд рдЬрд▓реНрджреА рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред


рдЬреЛ рдХреЛрдИ рднреА рдПрдХ рд╣реА рдореБрджреНрджреЗ рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдлреБрдЯ рдиреЛрдЯ: рдореЗрд░реЗ рдкрд╛рд╕ action рдФрд░ task (рдПрдореНрдмрд░-рд╕рдВрдЧрд╛рдорд┐рддрд┐ рд╕реЗ) рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред npx ember-native-class-codemod http://localhost:4200 ./app рдХреЛрдбрдореЙрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдирдХреЗ рдирд╛рдо рдХреНрд▓рд╛рд╕-рд▓реЗрд╡рд▓ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдЯрдХрд░рд╛ рдЧрдПред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣рд╛рдБ рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рдПрдХ рд╕рд╛, рдкреНрд░рд╢реНрди рдореЗрдВ рджрд╛рд╡рд╛ https://github.com/emberjs/ember.js/pull/14554 рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ catch рдмреНрд▓реЙрдХ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╕рд╣реА рдлрд┐рдХреНрд╕ рд╣реЛрдЧрд╛:

https://github.com/emberjs/ember.js/blob/d1ad76a2b22ce470639df3dfc6efb6864a70f588/packages/%40ember/-internals/glimmer/lib/components/link-to.ts#L770 -L777

рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП:

  1. рдЕрдорд╛рдиреНрдп рдбрд╛рдпрдирд╛рдорд┐рдХ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдирд┐рдХрд╛рд▓реЗрдВ (рддрд╛рдХрд┐ рд╕рдВрджреЗрд╢ рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реЛ "рд▓рд┐рдВрдХ рдмрдирд╛рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ
    "рдХреИрд╢рдмреБрдХ" рдорд╛рд░реНрдЧ рдХреЗ рд▓рд┐рдП, ${e.message}"
  2. рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреЗрдВрдХреА рдЧрдИ рддреНрд░реБрдЯрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ, рдпрджрд┐ рдпрд╣ assert , рдпрджрд┐ рдирд╣реАрдВ рддреЛ throw e

рд╣рд╛рдБ, 3.18 рдореЗрдВ рдмрд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА, рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ @action рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджреЗ рдкрд░ рдЬреЗрдирд░реЗрдЯ рд▓рд┐рдВрдХ рдмрд┐рдЯ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рдорд╛рди рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛ред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдПрдХреНрд╢рди рдирд╛рдо рдерд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

rafaelbnp picture rafaelbnp  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

escobera picture escobera  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lukemelia picture lukemelia  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adam-knights picture adam-knights  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dfreeman picture dfreeman  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ