0

私は最新のRailsプロジェクトにBackboneを使用しようとしていますが、私が直面している最新の問題はルートに関するものです。

Railsルーティングでは、サインイン後にユーザーに/ products(index_products_path)に移動してもらいます。

そこで、Backboneで次のルートを作成しました。さまざまな「ページ」(招待状など)用に他のバックボーンルーターを作成するつもりです。

class Sample.Routers.ProductsRouter extends Backbone.Router

  routes:
    ""         : "index"
    ":id"      : "show"
    ":id/edit" : "edit"
    "new"      : "newProduct"

「mydomain.com/products」はインデックスビューを表示します。「mydomain.com/products/#/1」または「mydomain.com/products#1」は、製品ID=1のショービューを表示します。

さて、問題は「新しい」パスにあります。「mydomain.com/products#new」をポイントして「new」ビューを表示しようとすると、サーバーはid=newの製品が見つからないと文句を言います。

なぜこれが起こっているのか私は本当に理解できません。Sample.Routers.ProductsRouter.ProductsRouter.showエラースタックをトレースすると、それが呼び出されていることがわかりました。バックボーンルーターがこれを正しくルーティングしていないようです.....そしてRailsサーバーはid=new ........の製品に対する「GET」リクエストに応答しているだけです。何らかのバックボーン構成エラーである可能性がありますか?

どんな助けでも非常に、非常に高く評価されます!

4

1 に答える 1

2

バックボーンは最初に一致するルートを実行します。したがって、あなたの場合は、new最初に置いてください。

  routes:
    ""         : "index"
    "new"      : "newProduct"
    ":id"      : "show"
    ":id/edit" : "edit"
于 2012-12-20T01:01:40.327 に答える