我在模型中有以下代码:
def self.price(start=0, stop=100_000_000)
where "price >= ? AND price <= ?",
"#{start} ".delete(' '), "#{stop} ".delete(' ')
end
以下是控制器:
def index
@businesses = Business.price(params[:price_from], params[:price_to])
end
例如,当params[:price_from]
等于'30 000'
时,"#{start} ".delete(' ')
中的最后一个空格会被删除,但我无法删除数字之间的空格并获取
PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "30 000"
我尝试了不同的方法,比如
#{start} ".gsub(/\s+/, '')
#{start} ".split.join
克隆start
没有帮助。我该怎么办?
答案 0 :(得分:0)
由于其格式,将“30 000”转换为整数似乎是一个问题。参数似乎以字符串形式传递,但被视为整数
我会尝试
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<img src="https://lh3.googleusercontent.com/-GEUSBr1DEWw/AAAAAAAAAAI/AAAAAAAAALg/28aKu1XOjeE/photo.jpg" alt="" />
要将参数转换为整数,请删除字符串中的空格。
答案 1 :(得分:0)
问题是空间是一个不间断的空间
使用start[2].ord
找到了160
30 000
。
在浏览器中格式化值时,JS toLocaleString
函数生成了该空间。