我的模型有一個字符串字段bar
,即a
,b
或c
。它使用has_ancestry和acts_as_list。我想列表的範圍是(1)血統,和(2)bar
,但我想a
和b
在同一個列表中,但c
在另一個列表中。也就是說,如果bar
是a
或b
那麼Foo是活動的,並且應該在一個列表範圍內,並且如果bar
是c
,那麼它是非活動的並且應該單獨列出。Rails 4:acts_as_list複雜範圍
以下是我認爲該模型可能看起來像:
class Foo < ActiveRecord::Base
scope :active, -> { where.not(bar: "c") }
has_ancestry
acts_as_list scope: [:ancestry, ???]
end
的問題是,我如何才能acts_as_list到範圍杆的兩個值在一起嗎?
(例如像scope: 'ancestry = \'#{ancestry}\' AND bar = \'bar\''
將基於欄給我三個不同的列表,而不是兩個。)
讓我知道,如果我沒有解釋這一權利。我看起來很遠谷歌和找不到答案。謝謝!
Rails 4 and Ruby 2;最新版本的祖先和acts_as_list,但這很靈活。
我應該補充說,我已經考慮添加另一個數據庫列,相當於bar == "c"
,但我希望有另一種解決方案。