Rails - 如何“合并”或将值附加到 URL 内的数组?

2023-12-21

我正在尝试在 URL 中传递一个数组,该数组工作正常,但我想知道如何插入或删除某些值?

例如,我有一个链接,如下所示:

http://localhost:3000/pins?genre_ids[]=1,2,3

我想构建一组可以在此 URL 数组中插入或删除数字的链接。

目前,我的每个链接都只是完全更改genre_ids[]值,我想添加到它,或者根据需要删除它。这是我构建链接的代码......

<%= link_to genre[0].title, pins_path( params.merge({ :genre_ids => [genre[0].id] }) ) %>

我想我追求的是类似的东西params.merge()但对于价值params[:genre_ids]

我希望你能明白我的意思吗?如果当前 URL 为/pins?genre_ids[]=1,2,3我希望我构建的每个链接都包含此当前链接,并在该数组中添加另一个数字,这样它看起来像/pins?genre_ids[]=1,2,3,4

任何帮助将不胜感激。我有 CF 背景,所以我仍在努力了解 Ruby 和 Rails。我正在使用 Rails 4 和 Ruby 2。

谢谢, 迈克尔.


你正在覆盖你的genre_ids大批。您需要组合两个数组,可以使用+操作员:

params[:genre_ids] + [genre[0].id]

我认为这可以解决问题:

<%= link_to genre[0].title, pins_path( params.merge({ :genre_ids => (params[:genre_ids] + [genre[0].id]) }) ) %>

但是,应该注意的是,您最终可能会得到重复的数组对象值。您可能需要考虑使用“union”运算符|.

Example:

first = [1,2,3,4]
second = [3,4,5,6]
first + second #=> [1, 2, 3, 4, 3, 4, 5, 6]
first | second #=> [1, 2, 3, 4, 5, 6]

所以也许你的链接应该是:

<%= link_to genre[0].title, pins_path( params.merge({ :genre_ids => (params[:genre_ids] | [genre[0].id]) }) ) %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails - 如何“合并”或将值附加到 URL 内的数组? 的相关文章

随机推荐

  • Pandas 数据框到 Flask 模板作为 json [重复]

    这个问题在这里已经有答案了 我尝试在烧瓶模板中输出熊猫数据框 我的想法是将其转换为json 然后循环遍历表 我测试了这个 jsonfiles df to json orient records return render template
  • 使用基于网络的在线免费 cron 安全吗?

    我的一个 ASP NET Web 应用程序中有一个邮件列表页面 我发现一个基于在线 Web 的 cron 可以在我的应用程序中每天执行一次 MailingList aspx 的 url 使用基于网络的在线免费 cron 安全吗 使用时应该注
  • 类型 存在于“A”和“B”中

    现在我知道这里已经有很多这样的问题 但是在翻阅它们之后 我还没有找到可以解决我的具体问题的问题 我有一个 ASP NET MVC 4 5 项目 我使用 NuGet 并将 Newtonsoft Json 添加到项目中 一旦我在代码中使用它 以
  • 创建粘性导航 CSS 和 jquery

    我目前正在为一个网站开发粘性导航 当导航变成时 我遇到了一些问题position fixed它似乎在跳跃 看起来 笨重 这是我想做的事情的小提琴 http jsfiddle net DKtLR http jsfiddle net DKtLR
  • 如何在 TypeScript 中使用 ES6 模块语法导入 angular.IInjectorService

    如何从 Angular IInjectorService 导入角度 d ts https github com borisyankov DefinitelyTyped blob master angularjs angular d ts使用
  • SQL - 对于 b 列中的每个值,a 列上的不同值

    我正在使用一张名为du vertrag 我正在尝试构建一个查询来选择不同的值id and status pairs 输入表 id status date 6251899 beantragt 20201008 6377042 beantrag
  • 使用 C# 解压缩 .gz 文件

    我有一个名为ZippedXmls tar gz 的焦油gunzip 文件 其中有2 个xml 我需要以编程方式解压缩该文件 输出应该是复制到文件夹中的 2 个 xml 如何使用 C 实现此目的 我使用过 Net的内置压缩流 http msd
  • Boost asio 发送和接收消息

    我正在尝试使用 TCP 从客户端和服务器发送和接收消息 我正在尝试使用线程 但我根本不知道该怎么做 我可以很好地连接到服务器 但我需要能够按需从两个地方发送和接收消息 我已经搜索了几个小时但一无所获 因为谷歌上的所有结果都过于复杂和混乱 s
  • 在 Audit.Net 中,有没有办法使用多个输出提供程序?

    我尝试设置下面的配置 但我认为只使用了其中之一 有没有办法将两者链接起来 或者有其他方法可以使用多个输出提供程序 Audit Core Configuration Setup UseElasticsearch config gt confi
  • 如何在 ubuntu 上重新安装 cassandra?

    我是 Ubutu linux Cassandra 的新手 我在我的 ubuntu 机器上使用 OpenJdk 测试了 Cassandra 有一些不错的文章解释了如何在 ubuntu 上安装 Cassandra 所以我可以这样做 我更改了一些
  • Git 中的文件级跟踪(同一目录中多个分支的文件)

    是否有任何脚本可以让人们记住某个目录中文件的单独分支 提交 以便可以同时处理同一目录中的分支 1 上的文件 1 和分支 2 上的文件 2 并让它们正确提交 如果没有我会自己实现 我的计划是为各种分支 存储库设置隐藏的签出目录 并使用这些文件
  • UITableView 中的实时搜索

    我已经实施了一个UI搜索栏用于查找其中的元素UI表格视图 一切似乎都工作正常 现在我需要对按下的每个键进行实时搜索文本域 并通过每按一次按钮来缩小搜索范围 因此 在开始编码之前 我想知道是否有任何内置库函数可以帮助我进行实时搜索 字符串比较
  • 对点进行排序,使连续点之间的最小欧氏距离最大化

    给定 3D 笛卡尔空间中的一组点 我正在寻找一种算法来对这些点进行排序 使得minimal两个连续点之间的欧几里得距离将最大化 如果算法倾向于最大化average连续点之间的欧氏距离 Edit 我已经交叉发布了https cstheory
  • 如何在 Fauna DB 中创建索引以返回键值对中的排序数据

    我正在尝试创建一个索引 该索引返回带有键的对象中的排序数据 我的集合的默认索引返回如下内容 ref Ref Collection posts 251333584234742292 ts 1583632773120000 data title
  • 如何在 Objective-C 中定义和使用 ENUM?

    我在实现文件中声明了一个枚举 如下所示 并在接口中声明了该类型的变量作为 PlayerState thePlayerState 并在我的方法中使用了该变量 但我收到错误消息 指出它未声明 如何在我的方法中正确声明和使用 PlayerStat
  • java.nio.file 的替代方案

    我在这个项目中使用 Android Studio 2 3 1 和 jdk 1 8 我导入一个项目 它使用 java nio file Files 和 java nio file Paths Java 8 中不存在包 java nio fil
  • 如何使用 JHipster 和 Hibernate Envers

    我无法弄清楚如何使用 Hibernate Envers 和 JHipster 我使用 PostgreSQL 来存储数据 最新的 Jhipster 2 6 0 我刚刚生成了一个 JHipster 应用程序 没有任何修改 User 域类扩展了
  • shell whoami 不等于 php shell_exec whoami?

    在 shell 中 我执行简单的 whoami 操作 然后得到 geoff 这很好 因为这就是我 在 php 文件中 我有 shell exec whoami 我没有得到任何人 在我看来 这似乎是一个差异 可以解释我最初的问题 imagem
  • PHP从3个变量中获取最大的数字[重复]

    这个问题在这里已经有答案了 可能的重复 返回具有最高值的变量 https stackoverflow com questions 5737305 return variable with the highest value 我试图想出一种简
  • Rails - 如何“合并”或将值附加到 URL 内的数组?

    我正在尝试在 URL 中传递一个数组 该数组工作正常 但我想知道如何插入或删除某些值 例如 我有一个链接 如下所示 http localhost 3000 pins genre ids 1 2 3 我想构建一组可以在此 URL 数组中插入或