这段代码运行良好
Geokit::default_units = :miles #:kms, :nms, :meters
但是这段代码会出错
puts params[:unit] # miles
Geokit::default_units = params[:unit] #:miles, :kms, :nms, :meters
这是怎么回事?
最佳答案
那是因为所有通过参数的都是字符串,如果你想要一个符号,那么考虑使用.to_sym:
params = { unit: 'miles' }
p params[:unit].class # String
p params[:unit].to_sym.class # Symbol
关于ruby - 如何在 ruby 中将符号作为 post 请求的参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47339389/