follow up some comments from my question, I have solved my problem above, and below are sample code for condition for the gem
counter_culture :parent_model, :column_name => Proc.new {|child_model|
if child_model.published_condition == 'CONDITION 1'
"condition1_count"
elsif child_model.published_condition == 'CONDITION 2'
"condition2_count"
elsif child_model.published_condition == 'CONDITION 3'
"condition3_count"
end
}, :column_names => {
["child_models.published_condition = ?", 'CONDITION 1'] => 'condition1_count',
["child_models.published_condition = ?", 'CONDITION 2'] => 'condition2_count',
["child_models.published_condition = ?", 'CONDITION 3'] => 'condition3_count'
}
explanation:
- parent_model has 3 fields to save the total number which are condition1_count,condition2_count and condition3_count