如何在ruby中将符号作为post请求的参数传递?

时间:2017-11-16 21:30:00

标签: ruby variables symbols

此代码效果很好

Geokit::default_units = :miles #:kms, :nms, :meters

但是这段代码会产生错误

puts params[:unit]     # miles
Geokit::default_units = params[:unit] #:miles, :kms, :nms, :meters

这有什么问题?

2 个答案:

答案 0 :(得分:3)

那是因为所有通过params的都是一个字符串,如果你想要一个符号,那么考虑使用.to_sym:

params = { unit: 'miles' }
p params[:unit].class # String
p params[:unit].to_sym.class # Symbol

答案 1 :(得分:3)

您确认function add(...values) { return values.reduce((sum, value) => sum + value, 0) } console.log(add(1, 4, 34, 45, 3, 4, 5))实际上是一个符号,而不是字符串吗?

params[:unit]

如果以上解决了您的问题,那么您在那里没有符号(可能是,如果从HTTP请求中读取了params)