是否存在类似于ActionController :: UnpermittedParameters的已定义异常,用于当Parameter包含非法值时?

时间:2019-05-25 21:37:36

标签: ruby-on-rails

我有一个API端点,其参数名为activate_via。但是,activate_via仅允许接收两个值-“电子邮件”或“文本”。如果该参数收到其他任何内容,我想提出一个错误。

最初我本来是想提高ActionController :: UnpermittedParameters的,但是现在我意识到该错误的真正目的是当传递了不允许的参数KEY而不是值时。

是否已经为此目的定义了错误?还是我应该定义自己的?

1 个答案:

答案 0 :(得分:0)

我建议您使用ArgumentError

raise ArgumentError.new("invalid argument for Activate via") unless %w(email text).include?(params['activate_via'])