如何在 rails 上验证 ruby 中的参数值?

how to validate parameter value in ruby on rails?

为这个问题设计的例子。在 rails 上验证 ruby 中传递的参数值的最佳方法是什么?我想确保 属性 参数的值是允许的值之一( auto 、 home 、 boat )。另外,验证 id 的最佳方法是有效的数值。

Module Lib
 class Service
  include HTTParty 
  base_uri "https://www.quotescomare.com"

  class << self

    def QuoteSearch (property, id)
     begin 
       response = HTTParty.get(url/property/id)
       if response.successful?
         filter_json(response)
       else
         raise 'invalid response'
       end
     end
   end
  end
 end
end

关于允许的值,您可以使用有效值创建一个简单的常量,如下所示:

PERMITTED_PROPERTIES = %w(auto home boat).freeze

然后你可以检查 属性 是否是其中之一:

PERMITTED_PROPERTIES.include?(property)

关于检查id是否为数字,可以这样做:

id.is_a? Numeric