これはバグというよりはサポートされていない機能のように見えますが、ログに記録すると思いました。
2.9.1から2.10にアップグレードすると、次の例外が発生しました。
"Assertion Failed: You attempted to define a `{{link-to "timecards"}}` but did not pass the parameters required for generating its dynamic segments. You must provide param `login` to `generate`."
#app/router.js
this.route('timecards', {path: '/timecards/:login'}, function() {
this.route('index', { path: '/' });
this.route('timecard-day', {path: '/day/:date'});
this.route('pay-period', {path: '/pay-period/:date'});
});
#app/routes/timecards.js #model hook
model(params) {
let login = params.login || this.get('currentUser.login');
return this.store.peekAll('user').findBy('login', login);
}
個々の子ルートごとにロードするのではなく、親ルートでオプションの動的セグメントを使用してデフォルトのユーザーモデルをロードすると非常に便利でした。
undefinedを渡し、カスタムのシリアル化フックを実装することで、これを実行できると確信しています。
ここに追加されたエラーメッセージは、一般の人々にとってかなり大きな勝利であり、可能であればそれを維持したいと思います...
@rwjblueが未定義をlink-toヘルパーに渡すと、次の警告がスローされます: This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid.
私はまた問題を抱えていました:
{{link-to 'projects.project.tasks' project}}
this.route('projects', function() {
this.route('project', { path: ':id' }, function() {
this.route('tasks');
});
});
未定義のid
についてのEmberエラー。
そのための簡単な修正は、ルーターの:id
を:project_id
これは実際の修正ではなく、バグとして認定されるに値すると思います。 それ以外の場合、ルーターの動作の変更に関する情報はありませんでした。
@Exelordは、最初に説明されたバグとは無関係であり、バグではありません。 デフォルトの実装では、箱から出してすぐに機能する
@Exelord (
@rwjblue @ sly7-7なので、この問題のクリーンな回避策はないようですよね?
@arenoirこの問題を
@locks @pixelhandler
あなたには権利があります、みんな。 ヘルプと説明をありがとう。 しかし実際、2.10より前は機能していました。
今、それはバグまたは予期しない動作だったと思います。
@pixelhandlerここで大丈夫
:point_up:良い複製のように見えます。 そのラベルは削除できます
これがリグレッションと見なされるのか、それともアプリケーションで修正する必要があるのかについて、私は混乱しています。
これは私たちにとって2.10と2.11をブロックしています。 誰かがこれがリグレッションであることを確認できれば、修正を試みて幸せです。
@arenoirで説明されているのと同じ問題
今日この同じ問題に遭遇します👎
@jakeleboeuf同じ問題が発生し、
[編集]
ここは午前2時で、私の脳はほとんど深宇宙に行きました。 私はそれを間違ってテストしたことに気づきました。 それはまだ続いています...
誰かがこの問題に遭遇した場合、おそらくこれである可能性があります:
import Controller from 'ember';
import { alias } from 'ember-computed';
export default Controller.extend({
deployments: alias('model')
});
Contoller
誤ってインポートしていることに注意してください。 import Controller from 'ember-controller';
である必要があります。 これは、現在のプロジェクトで使用しているember-cli-shimsを使用している場合です。 私はあきらめる前に約1時間これに迷い、戻ってきて、自分が間違っていることをはっきりと見ました。
ここではロングショットですが、次のような方法でネイティブのObject
をEmberのObjectクラスで誤ってオーバーライドしたときにこの問題が発生しました。
const { Object } = Ember;
これにより、モデルフック( Object.create
が呼び出される)が失敗し、何らかの理由で、スローされた例外が動的セグメントが存在しないことを示していました。 これは、 @ alvincrespoが上記のコメントで言及していることと似ていると
@lrdivええ、私はこれが私と一緒に起こっていると思います。
Assertion Failed: You attempted to define a `{{link-to "control.templates.show"}}` but did not pass the parameters required for generating its dynamic segments. _ember.default.extend is not a function
@brunowegoええ、それは私が得ていたのと同じエラーです。 私たちの場合、これは実際のバグというよりも誤解を招く例外のようです。
@lrdivこれも私に起こっていた、いいキャッチ! :v:
私が行っていたのは、Emberを分解し、ネイティブのObject
をそれ以外の場合はEmber.Object
正確にオーバーライドすることconst EmberObject = Ember.Object
ようなものに変更し、すべてが正しく行われました。 私もそれをバグバグとは呼ばないので、あなたが上で書いたほとんどすべてについてあなたに同意します:stuck_out_tongue_winking_eye:
@Exelord @acorncom @alvincrespo @arenoir @asvny @bjornharrtell @brunowego @carlbennettnz @dustinfarris @jakeleboeuf @locks @lrdiv @nightsh @rwjblue @ sly7-7 @tarikozketこれはまだ問題です、おそらく私たちは閉じるか、新しい複製を作成する必要がありますこれ、どう思いますか?
とりあえず閉じますが、Emberの現在のリリースで再現できる場合は、お気軽に再開してください。
最も参考になるコメント
これは私たちにとって2.10と2.11をブロックしています。 誰かがこれがリグレッションであることを確認できれば、修正を試みて幸せです。