Rails3 Arel访问自定义类
|
我有一个自定义类,但我希望能够将其传递给Arel并让其解析其可查询部分。
自定义模块
类项目
attr_accessor:名称
def initialize(名称)
self.name =名称
结束
结束
结束
custom_item = Custom :: Item.new(\“ Bill \”)
User.where(:name => custom_item)
有什么我可以在custom_item中定义的东西,所以它会理解Arel要从中获取名称吗?
目前,我的解决方法是:
模块Arel
模块访客
ToSql类
def visit_Custom_Item o
\“ \'#{o.name} \'\”
结束
结束
结束
结束
没有找到相关结果
已邀请:
2 个回复
犀耽澄协吻
方法
Arel时,请尝试调用
方法(https://github.com/rails/arel/blob/master/lib/arel/visitors/visitor.rb#L15),但是失败。然后Arel尝试调用
+
,但由于以下原因再次失败:
并且Arel在此列表中没有任何以下名称https://github.com/rails/arel/blob/master/lib/arel/visitors/to_sql.rb#L394:
实际上,我认为这不是一个非常有用的功能,但是我已经向亚伦·帕特森(Aaron Patterson)询问过,如果他愿意的话,我将尝试实现它。
樊熄忙暖
方法,我可以解决这个问题
并欺骗Arel Visitor将我的班级视为Fixnum
使用Rails 3.2.13。 对于类似字符串的值,您可能应该模仿
并使用
。