mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
You need to specify the counter_cache option on the has_many side of the association when using a custom counter cache column. This is documented on the has_many association here: http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_many [ci skip]
This commit is contained in:
parent
72a815c3fd
commit
d60556e967
1 changed files with 7 additions and 1 deletions
|
@ -879,10 +879,12 @@ class Order < ActiveRecord::Base
|
|||
belongs_to :customer, counter_cache: :count_of_orders
|
||||
end
|
||||
class Customer < ActiveRecord::Base
|
||||
has_many :orders
|
||||
has_many :orders, counter_cache: :count_of_orders
|
||||
end
|
||||
```
|
||||
|
||||
NOTE: You only need to specify the :counter_cache option on the "has_many side" of the association when using a custom name for the counter cache.
|
||||
|
||||
Counter cache columns are added to the containing model's list of read-only attributes through `attr_readonly`.
|
||||
|
||||
##### `:dependent`
|
||||
|
@ -1495,6 +1497,7 @@ The `has_many` association supports these options:
|
|||
* `:as`
|
||||
* `:autosave`
|
||||
* `:class_name`
|
||||
* `:counter_cache`
|
||||
* `:dependent`
|
||||
* `:foreign_key`
|
||||
* `:inverse_of`
|
||||
|
@ -1522,6 +1525,9 @@ class Customer < ActiveRecord::Base
|
|||
end
|
||||
```
|
||||
|
||||
##### `:counter_cache`
|
||||
This option can be used to configure a custom named `:counter_cache`. You only need this option when you customized the name of your `:counter_cache` on the [belongs_to association](#options-for-belongs-to).
|
||||
|
||||
##### `:dependent`
|
||||
|
||||
Controls what happens to the associated objects when their owner is destroyed:
|
||||
|
|
Loading…
Reference in a new issue