diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2009-04-23 14:25:35 +0100 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2009-04-23 14:25:35 +0100 |
commit | 67f30fd9639409877a57a7ba758cd13496433d69 (patch) | |
tree | 1c1cbe96380b984e52d010d70a4152263d75d726 | |
parent | 5a1fe9039b33414b7088813712e03bbe38567cff (diff) | |
download | rails-67f30fd9639409877a57a7ba758cd13496433d69.tar.gz rails-67f30fd9639409877a57a7ba758cd13496433d69.tar.bz2 rails-67f30fd9639409877a57a7ba758cd13496433d69.zip |
String interpolation conditions
-rw-r--r-- | railties/guides/source/association_basics.textile | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/railties/guides/source/association_basics.textile b/railties/guides/source/association_basics.textile index 4d75fb6dc4..aaea83fa32 100644 --- a/railties/guides/source/association_basics.textile +++ b/railties/guides/source/association_basics.textile @@ -1219,6 +1219,17 @@ end If you use a hash-style +:conditions+ option, then record creation via this association will be automatically scoped using the hash. In this case, using +@customer.confirmed_orders.create+ or +@customer.confirmed_orders.build+ will create orders where the confirmed column has the value +true+. +If you need to evaluate conditions dynamically at runtime, you could use string interpolation in single quotes: + +<ruby> +class Customer < ActiveRecord::Base + has_many :latest_orders, :class_name => "Order", + :conditions => 'orders.created_at > #{10.hours.ago.to_s(:db).inspect}' +end +</ruby> + +Be sure to use single quotes. + h6. +:counter_sql+ Normally Rails automatically generates the proper SQL to count the association members. With the +:counter_sql+ option, you can specify a complete SQL statement to count them yourself. |