link_to助手修改

时间:2013-01-04 16:59:09

标签: ruby-on-rails-3 link-to view-helpers

在我正在使用的rails应用程序中,我稍微修改了link_to帮助程序:

  def link_to(*args, &block)
    args[1] = params[:client_id].present? ? "#{args[1]}?client_id=#{params[:client_id]}" : args[1]
    super
  end

我这样做了所以每次在应用内部写一个:client_id => params[:client_id]时我都不必添加link_to。好吧,我有一种鸽子因为以下问题而陷入困境......

如果我有link_to

<%= link_to "Continue to billing info", add_product_path(:product_id => @product.id), :class => 'btn' %>

使用我的link_to助手创建一个链接,如下所示:

http://localhost:3001/orders/add_product?product_id=35?client_id=HT274848772

我对如何修改我的助手略有不知所措,以便在包含:client_id参数时链接正常工作......

1 个答案:

答案 0 :(得分:1)

您希望将参数添加到链接网址,而不是链接本身。也许你应该重写url_for帮助器,这是所有url帮助器使用的帮助器(http://apidock.com/rails/ActionView/Helpers/UrlHelper/url_for