3 回答

TA貢獻2012條經驗 獲得超12個贊
Rails 4+方式(感謝Thomas在下面回答了此問題):
has_many :faixas_aliquotas, -> (object) {
where("regra_fiscal = ?", object.regra_fiscal)
},
:class_name => 'Fiscal::FaixaAliquota'
Rails 3.1+方式:
has_many :faixas_aliquotas, :class_name => 'Fiscal::FaixaAliquota',
:conditions => proc { "regra_fiscal = #{self.regra_fiscal}" }
Rails 3及以下:
has_many :faixas_aliquotas, :class_name => 'Fiscal::FaixaAliquota',
:conditions => ['regra_fiscal = #{self.regra_fiscal}']
不,這不是錯誤。條件用單引號引起來,仍然包含代碼#{self.regra_fiscal}。當條件子句被撤消時,regra_fiscal方法將在的對象上調用self(無論該類是什么)。用雙引號將不起作用。
我希望這是您要尋找的。

TA貢獻1824條經驗 獲得超5個贊
Rails 4 +方式:
has_many :faixas_aliquotas, -> (object){ where("regra_fiscal = ?", object.regra_fiscal)}, :class_name => 'Fiscal::FaixaAliquota'
添加回答
舉報