Tengo una clase personalizada, pero quiero poder pasarla a Arel y dejar que resuelva su parte consultable.Rails3 visitas de Arel a clases personalizadas
module Custom class Item attr_accessor :name def initialize(name) self.name = name end end end custom_item = Custom::Item.new("Bill") User.where(:name => custom_item)
es que hay algo que pueda definir en custom_item, por lo que entendería que quiere Arel nombre de ella?
Actualmente me Solución alternativa con:
module Arel module Visitors class ToSql def visit_Custom_Item o "'#{o.name}'" end end end end
Imagine que tiene una aplicación Rails 2 donde tiene este código que pasa las clases que Arel no puede visitar a las consultas en varios lugares, y funciona porque tienen to_s overriden. Y todo deja de funcionar en Rails 3. Sé que está en el límite de la funcionalidad de Rails/Arel :) – Titas