我有一个API端点,其参数名为activate_via
。但是,activate_via
仅允许接收两个值-“电子邮件”或“文本”。如果该参数收到其他任何内容,我想提出一个错误。
最初我本来是想提高ActionController :: UnpermittedParameters的,但是现在我意识到该错误的真正目的是当传递了不允许的参数KEY而不是值时。
是否已经为此目的定义了错误?还是我应该定义自己的?
答案 0 :(得分:0)
我建议您使用ArgumentError
raise ArgumentError.new("invalid argument for Activate via") unless %w(email text).include?(params['activate_via'])