使用Rails Strong Params声明所需的数组参数

问题描述 投票:2回答:1

在我的Rails控制器中,我想require一​​个参数emails。它必须是一个数组。

允许。

emails[][email protected]&emails[][email protected]

这是不允许的。

[email protected]

params.require(:emails)将允许两者。前者是一个数组。后者为String。这是一个问题。

[params.permit(emails: [])不需要emails参数。

[params.require(:emails).permit([])不起作用,因为params.require(:emails)变得很聪明并返回一个数组,而不是ActionController :: Parameters。

如何允许emails[]=...和禁止emails=...

ruby-on-rails strong-parameters ruby-on-rails-6
1个回答
0
投票

就像塔德曼所说的那样,筛选是强参数的主要功能。

你可以看葡萄

  desc "API demo", {}
  params do
    requires :id, type: Integer, desc: 'ID'
    requires :name, type: Boolean, desc: 'xxx'
  end

如果将意外的参数类型传递给它,则会收到错误消息

© www.soinside.com 2019 - 2024. All rights reserved.