先贴代码
if params[:begin_integral].present? || params[:end_integral].present? || params[:site_sn].present? || params[:begin_order_count].present? || params[:end_order_count].present? || params[:begin_order_sub_amount].present? || params[:end_order_sub_amount].present? || params[:begin_age].present? || params[:end_age].present?
问,这样的代码,怎么换行,让他变得整齐,我试着加换行符,试着用编辑器的自动换行都不能满足我的需求,请问有什么可以帮到我的方法?
if params[:begin_integral].present? ||
params[:end_integral].present? ||
params[:site_sn].present? ||
params[:begin_order_count].present? ||
params[:end_order_count].present? ||
params[:begin_order_sub_amount].present? ||
params[:end_order_sub_amount].present? ||
params[:begin_age].present? ||
params[:end_age].present?
params.slice(*%i[ begin_integral end_integral site_sn begin_order_count ...]).values.all?(&:present?)
params.values_at(:begin_integral, :end_integral, ...).all?(&:present?)
keys = %i[begin_integral end_integral] # ...
params.values_at(*keys).any?(&:present?)
以及如果下面这样也可以的话,更短:
keys = params.keys.grep(/begin|end|site_sn/)
params.values_at(*keys).any?(&:present?)
controller 里面做条件搜索时候,因为涉及到从其他表进行查询。 然后呢,先这样做
@customers = Customer.all
@customers = @customers.where。。。。 if prams[:id].present?
后来想这样不管搜索条件有没有值,都要查询一遍 customer 表,所以做 if 判断,完了再搜索,结果 if 判断的搜索条件太长了