代码之家  ›  专栏  ›  技术社区  ›  Nirmalya Ghosh

如何在Ember中创建正确的编辑路径?

  •  -1
  • Nirmalya Ghosh  · 技术社区  · 8 年前

    目前,我的路线大致如下:

    this.route('cards', function() {
      this.route('all');
      this.route('card', {path: ':id'});
      this.route('new');
    });
    

    我想做一个 edit 卡片的路径。我希望能找到一条像 cards/1/edit 将其设置为可编辑是合适的。但我不确定如何继续。如果我选择这样的路线 卡片/1/编辑

    this.route('cards', function() {
      this.route('all');
      this.route('card', {path: ':id'}, function() {
        this.route('edit');
      });
      this.route('new');
    });
    

    然而,如果我选择一条简单的路线,比如 cards/edit/1 ,我可以将数据发送到后端,但它将具有以下内容:

    this.route('cards', function() {
      this.route('all');
      this.route('card', {path: ':id'});
      this.route('new');
      this.route('edit', {path: ':id'});
    });
    

    这会抛出错误,说明 cards/card 不是路线。

    2 回复  |  直到 8 年前
        1
  •  1
  •   Visualjeff    8 年前

    这就是我过去所做的:

    this.route('cards', function() { 
      //An index route for cards is implied.
      this.route('add', {path: '/add'});
      this.route('update', {path: '/update/:id'});
    });
    

    相应的url(以隐含的cards/index.hbs开头)将是:

    希望这能有所帮助,

        2
  •  0
  •   Nirmalya Ghosh    8 年前

    这是我使用的实际路线:

    this.route('cards', function() {
      this.route('all');
      this.route('card', {path: '/:card_id'}, function() {
        this.route('edit');
      });
      this.route('new');
    });
    

    我要去编辑路线( cards/1/edit )修改卡片。

    感谢@Visualjeff