Ruby on rails Rails-使用参数中的新值重新加载操作

Ruby on rails Rails-使用参数中的新值重新加载操作,ruby-on-rails,refresh,params,Ruby On Rails,Refresh,Params,我的模型中有以下关系: 一个用户可以有多个消费者 根据这一点,我从不同的控制器调用了几个操作,这些操作依赖于URL中的消费者id。所以,我会做一些事情,比如: /:consumer_id/products/all /:consumer_id/locals/all?params... 我希望能够考虑到我处于一个特定的视图中,比如说/3/products/all,能够对/4/products/all进行刷新、重定向或任何最好的操作,并使用一个表单显示附加到该用户的不同消费者 我知道如何显示表单,但

我的模型中有以下关系:

一个用户可以有多个消费者

根据这一点,我从不同的控制器调用了几个操作,这些操作依赖于URL中的消费者id。所以,我会做一些事情,比如:

/:consumer_id/products/all
/:consumer_id/locals/all?params...
我希望能够考虑到我处于一个特定的视图中,比如说/3/products/all,能够对/4/products/all进行刷新、重定向或任何最好的操作,并使用一个表单显示附加到该用户的不同消费者

我知道如何显示表单,但如果我想加载当前控制器、当前操作和当前参数,我看不出应该执行哪些操作,除了我想将参数[:consumer\u id]会话[:consumer\u id]更改为用户以视图形式选择的操作


这样做的最佳或适当方式是什么?

在视图中,您可以使用
controller\u name
访问当前控制器,也可以使用
action\u name
访问当前操作。您的问题不清楚。您想从表单中选择消费者id,然后在同一页面中使用该消费者id或用于指向其他页面的链接

如果要为当前页面使用消费者id,则需要使用javascript或JQuery更新当前页面的所有属性

如果要将该消费者id用于链接

  • 您还可以使用JQuery更新页面上的所有链接
  • 或者,您可以使用新的消费者id将表单提交到服务器

这是指向具有相同参数和一个附加参数的同一页面的链接:

<%= link_to "Show more results", url_for(params.merge(:per => 100)) %>
100))%%>

如果要修改参数而不是添加新参数,可以像修改任何散列一样修改参数散列,然后再次使用url_。

如果url中有其他参数,该怎么办?所以消费者识别码/特定动作?参数?这些都应该位于params散列中,您可以将其复制到新的actionUpvoted。然而,我将编辑这个问题,因为我有点困惑,我相信我还没有解释我自己。