0

次のようなパス ヘルパー メソッドにモンキー パッチを適用したいと思います。

def product_path(product, options={})
  url_for(controller: :product, action: :show,
          id: product.id, name: product.name.parameterize,
          options)
end

オプションのハッシュを保持したいので、product_path を参照するときに、次のようなメソッド呼び出しを行うことができます。

product_path(product, anchor: '#product_description')

params ハッシュを url_for ハッシュに渡すことができないため、上記の product_path が機能しません。これを行うための最もクリーンで正しい方法は何でしょうか?

4

1 に答える 1

1

おそらく次のようなものです:

def product_path(product, options={})
   hash = {
     controller: :product, 
     action: :show,
     id: product.id, 
     name: product.name.parameterize,
   }.merge(options)
   url_for(hash)
end
于 2013-11-14T19:09:13.357 に答える