如何优化/重构此 Rails 代码,
如果 co 不是 nil,我想将 where 条件应用于 Country 和 City,如果它是 nil,则全部应用。
def pre(co = nil,ci = nil)
cond1 = co.nil? ? "all" : "where(:id => co)"
cond2 = ci.nil? ? "all" : "where(:id => ci)"
@countries = Country.send(cond1).order(:name).map{|i| [i.name,i.id]}
@cities = City.send(cond2).order(:name).map{|i| [i.name,i.id]}
end
这是一个好方法还是有更好的方法?