1
誰能告訴爲什麼這個代碼將無法正常工作:陣列條件佔位符替代問題(Rails3中的Active Record)
scope :scope_a, lambda {|x, y| select('DISTINCT ?', x).order('? ASC', y)}
(說引發ArgumentError:錯誤的參數數目(2 1)),而這
scope :scope_b, lambda {|x, y| where(:cond1 => x).where(:cond2 => y)}
完美的工作嗎?
如何用第一個例子(看起來不可能使用哈希條件時)構造適當的範圍?
UPD的安全解決方案竟然是微不足道的:
scope :myscope, lambda{|field, mode| {:select => field, :conditions => {:moderated => mode}, :order => field}}
..但不設定範圍條件的這種方式獲得未來的回報率的版本棄用(不知道)?