2

次のヘルパーを宣言したとしましょう

Handlebars.registerHelper("linkTo", function(request, params) {
    return window.linkTo(request, params);
});

ビューで(可能であれば)このようなことを行うにはどうすればよいですか(正しい構文ではなく、表示目的のためだけです)

<a href="{{link_to module='products' controller='view', product=product.id artist= artist.id}}">foo</a>

コンマは、2 つのハッシュ間の分離を象徴するだけです。

4

2 に答える 2

1

いいえ、Handlebars.js がパラメーターを使用する方法により、複数のハッシュを分離することはできません。

于 2012-04-30T22:05:06.150 に答える
0

オブジェクトリテラルの一部として渡すことができる構造にパラメーターを配置する方法がわかれば、それが機能することがわかります。例えば:

{ 
  "params" : {
    "module" : "products",
    "controller" : "view",
    "product" : 5,
    "artist" : 25
  }
}

さらに、このヘルパー:

Handlebars.registerHelper("link_to", function(params) {
  var result = "";
  var insertAmpersand = false;

  for (var prop in params) {
      if (insertAmpersand) {
          result += "&";
      } else {
          insertAmpersand = true;
      }

      result += prop + "=" + params[prop];
  }
  return result;
});

次のように呼び出すことができます:

{{link_to params}}

引き起こす:

module=products&controller=view&product=5&artist=25

明らかに、物事が適切な引用符で囲まれるように、それを改良したいと思うでしょう。しかし、そのようなものはあなたのために働きますか?

于 2012-04-27T16:55:09.973 に答える