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')

上面引用的我的 product_path 不起作用,因为我无法将 params 哈希传递到 url_for 哈希中。最干净的正确方法是什么?

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 回答