无法修改模型中的params变量

时间:2015-06-25 07:41:53

标签: ruby-on-rails ruby-on-rails-4

我在模型中有以下代码:

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没有帮助。我该怎么办?

2 个答案:

答案 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函数生成了该空间。