好奇的是,当用户选中多个复选框(具有相同的名称值)并将其发回控制器时,"rails"是如何处理这种情况的.

如何判断是否 Select 了多个项目,然后根据ID值进行拆分等.

推荐答案

最简单的方法是将这些复选框设置为一个array.

HTML:

<input type="checkbox" name="tag_ids[]" value="1" />
<input type="checkbox" name="tag_ids[]" value="2" />
<input type="checkbox" name="tag_ids[]" value="3" />

控制器:

tag_ids = params[:tag_ids]

(当然,您可能会在视图中使用基于form_for的帮助程序,因此会大量分配标记ID.这只是最常见的示例.)

Ruby-on-rails相关问答推荐

如何判断是否定义了Rails模型?

通过激励控制器正确更新Turbo帧信源

为什么没有生成命名空间路由?

Rails ActiveRecord::LogSubscriber 不输出详细查询日志(log)

Rails:比枚举更惯用的排序/可比较列表方法?

2个空格或1个制表符,Rails社区的缩进标准是什么?

rails4 未知编码名称 - CP720

如何在终端中查看 Heroku 应用程序的当前数据库架构?

机械师 vs FactoryGirl - 优点和缺点

可以在 Rails/ActiveRecord 中使用 NULL 指定唯一索引吗?

Rails:立即渲染并退出

Post.all.map(&:id) 是什么意思?

使用 PostgreSQL 的模式和 Rails 创建多租户应用程序

您推荐哪些工具来分析 Rails 应用程序?

为什么 RSpec 在 Rails 下这么慢?

redirect_to 和 render 是可交换的吗?

资源和资源方法之间的区别

Rails: Sprockets::Rails::Helper::AssetNotPrecompiled 在开发中

为什么不对 Rspec + Selenium 使用共享的 ActiveRecord 连接?

您可以在弹性 beantalk 环境中运行 rails 控制台或 rake 命令吗?