3 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
Rails 4+方式(感謝Thomas在下面回答了此問(wèn)題):
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}']
不,這不是錯(cuò)誤。條件用單引號(hào)引起來(lái),仍然包含代碼#{self.regra_fiscal}。當(dāng)條件子句被撤消時(shí),regra_fiscal方法將在的對(duì)象上調(diào)用self(無(wú)論該類(lèi)是什么)。用雙引號(hào)將不起作用。
我希望這是您要尋找的。

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