2
我需要Arel做一些ActiveRecord不可能的事情,但我的方法應該返回一個範圍,因爲調用者可能想要添加他們自己的一些範圍。你可以將Arel表格變回範圍嗎?
這可能嗎?
例如User.arel_table.scoped.first
我需要Arel做一些ActiveRecord不可能的事情,但我的方法應該返回一個範圍,因爲調用者可能想要添加他們自己的一些範圍。你可以將Arel表格變回範圍嗎?
這可能嗎?
例如User.arel_table.scoped.first
如果你解釋了你想要達到的目標,那將會更加簡單。 arel_table是一個與作用域非常不同的野獸,它只是一個旨在幫助構建sql查詢的語法節點。有些查詢只是沒有意義/不符合建立實際關係的要求 – 2013-02-20 16:44:53
基本上,我可以使用Arel的高級語法來縮小給定的範圍。這似乎是不可能的,但也許我忽略了一些東西。 – 2013-02-21 15:48:36
只是爲了確定,你知道你可以在'Relation#where'中使用arel語句嗎?例如(Model.arel_table [:column] .not_eq(nil).or(Model.arel_table [:other_column] .gt(0)))' – 2013-02-21 16:19:59