【发布时间】:2014-09-16 09:04:20
【问题描述】:
在我的 Rails 4 应用程序中,我有这样的设置:
class InvoicesController < ApplicationController
def index
@invoices = current_user.invoices.search(params)
end
...
end
class Invoice < ActiveRecord::Base
belongs_to :user
def self.search(params)
data = all
data = data.where("number LIKE ?", "%#{params[:number]}%") if params[:number]
data = data.where("total > ?", params[:minimum]) if params[:minimum]
data = data.where("total < ?", params[:maximum]) if params[:maximum]
data
end
...
end
问题是我有一堆其他的 GET 参数,它们都是 params 哈希的一部分。如何从 URL 中删除空白参数,这样我就不会得到如下 URL:
/invoices?after=&before=&maximum=&minimum=&number=
感谢您的帮助。
【问题讨论】:
-
澄清一下,您是说提交表单时,不希望通过URL提交空字段吗?如果是这样,您可能需要在提交之前使用JS拦截表单并删除空白内容。
标签: ruby-on-rails ruby activerecord