在 rails 中解析从 url 到下一页的参数



我目前有一个登陆页面/vouchers然后有许多页面链接到该页面,例如/vouchers/1/vouchers/2等。

我目前具有的功能是,如果/vouchers/1?offer=50输入此内容,则该页面上的表单将与 url 中包含的报价一起发送。

现在我需要添加功能,以便如果输入/vouchers?offer=50,然后导航到的任何页面都将保留这些参数。(例如/vouchers/1然后应包含来自 URL 的报价)

我只看到一种方法。

  • 在会话中存储所有"特殊"参数
  • 在任何处理程序中 - 如果"特殊"参数在会话中 - 使用此参数形成新的URL,并将用户重定向到那里

让我猜猜:1.您有一个模型,名为"优惠券"2.如果您想查看 的条目,假设 ,凭证#1 ,您会看到 URL 凭证/1(注意单词"凭证"的单数形式)3.您通过用户的某些交互来分配报价的价值,例如 - 链接或列表。假设这是一个链接。试试这个 (HAML):

= link_to "Accept this offer and create a new voucher", new_voucher_path(:offer => @offer_value)

(在您的情况下@offer_value = 50)

以下视图(或部分视图)将能够读取 :offer 中的值。

您可以参考这个有用的讨论。

我解决了这个问题,可能不是最好的方式。在/voucher页面上,我向所有链接添加了 if 语句,因此如果 url 中有优惠,则会适当地附加链接。

最新更新