Converting a rails 2 count calculation to rails 3 -
i attempting convert rails 2 count calculation rails 3 i'm having issues
answers.count('user_agents.browser', :joins => :user_agent, :group => 'user_agents.browser', :order => 'count(user_agents.browser) desc')
that rails 2 , gives me error of
pgerror: error: column answers.user_agents.browser not exist line 1: select count("answers"."user_agents.browser") "count_... ^ : select count("answers"."user_agents.browser") "count_user_agents_browser", user_agents.browser user_agents_browser "answers" inner join "user_agents" on "user_agents"."id" = "answers"."user_agent_id" (answers.survey_id = 18) group user_agents.browser order count(user_agents.browser) desc
i've tried converting myself, close have gotten
answers.select('count(user_agents.browser)').joins(:user_agent).group('user_agents.browser').order('count(user_agents.browser) desc')
but still doesn't work , gives me error
undefined method `keys' [#<answer >, #<answer >, #<answer >]:activerecord::relation
some background, getting array of answers question model has_many answers. answers belongs useragent model has_many answers. end goal take array of answers , figure out how many came each useragent. code work in rails 2. using postgresql db.
i able figure out, , in fact think makes whole lot more sense
useragent.group(:browser).joins(:answers).merge(answers).count(:browser)
merge pretty damn awesome
Comments
Post a Comment