tyb*_*103 6 ruby activerecord conditional ruby-on-rails callback
只是想知道是否有办法在Rails中进行条件回调.我知道你可以像这样进行条件验证:
validates_uniqueness_of :email, :if => (1==1)
Run Code Online (Sandbox Code Playgroud)
我经常在回调中做这样的事情:
class LineItem < ActiveRecord::Base
belongs_to :invoice
belongs_to :line_item_group
before_create :set_invoice_id
def set_invoice_id
unless self.invoice_id
self.invoice_id = self.line_item_group.invoice_id
end
end
end
Run Code Online (Sandbox Code Playgroud)
把它清理干净会很棒.
kso*_*sol 12
是的你可以.
class Order < ActiveRecord::Base
before_save :normalize_card_number, :if => :paid_with_card?
end
Run Code Online (Sandbox Code Playgroud)
有关此主题的更多信息,请参见http://guides.rubyonrails.org/active_record_callbacks.html#conditional-callbacks.
tok*_*and 12
class LineItem < ActiveRecord::Base
before_create :set_invoice_id, unless: :invoice_id
def set_invoice_id
self.invoice_id = line_item_group.invoice_id
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15672 次 |
| 最近记录: |