如何在 ruby 中将符号作为 post 请求的参数传递?
How to pass symbol as parameter of post request in ruby?
此代码运行良好
Geokit::default_units = :miles #:kms, :nms, :meters
但是这段代码会出错
puts params[:unit] # miles
Geokit::default_units = params[:unit] #:miles, :kms, :nms, :meters
这有什么问题吗?
那是因为通过params的都是字符串,如果你想要一个符号,那么考虑使用.to_sym:
params = { unit: 'miles' }
p params[:unit].class # String
p params[:unit].to_sym.class # Symbol
您确认 params[:unit]
实际上是一个符号,而不是字符串吗?
Geokit::default_units = params[:unit].to_sym
如果以上解决了您的问题,那么您没有开始的符号(可能,如果从 HTTP 请求中读取了参数)
此代码运行良好
Geokit::default_units = :miles #:kms, :nms, :meters
但是这段代码会出错
puts params[:unit] # miles
Geokit::default_units = params[:unit] #:miles, :kms, :nms, :meters
这有什么问题吗?
那是因为通过params的都是字符串,如果你想要一个符号,那么考虑使用.to_sym:
params = { unit: 'miles' }
p params[:unit].class # String
p params[:unit].to_sym.class # Symbol
您确认 params[:unit]
实际上是一个符号,而不是字符串吗?
Geokit::default_units = params[:unit].to_sym
如果以上解决了您的问题,那么您没有开始的符号(可能,如果从 HTTP 请求中读取了参数)