Ich übertrage eine Anwendung geschrieben in Rails-2.3 mit SearchLogic zu Rails-3.0 mit Arel und MetaWhere, und ich renne in eine Operation, die ich nicht weiß, wie das Schreiben.Mehrere LIKE Übereinstimmungen mit Arel & MetaWhere
Der alte Code war:
if params[:city] && params[:city].respond_to?(:each)
users = users.person_address_city_like_any(params[:city])
end
was dies ein LIKE
Spiel gegen jedes Element in dem params lief wurde [: Stadt] Array.
Dies ist leicht genug, um in MetaWhere, wenn nur ein Suchwort gibt es:
users = users.where(:person => { :address => { :city.matches => '%city1%' } })
aber wie würde ich dies schreibt mit einer beliebigen Anzahl von Städten?
Danke. Ich bin sehr beeindruckt von MetaWhere bisher. –
Wie kann ich genau das gleiche tun, wenn die Bedingungen von einem String kommen: "person.address.city"? –