ruby on rails - Unknown column error with has_one association and join in named scope -


i have product , payment_notification model following association

class product < activerecord::base   has_one :payment_notification end  class paymentnotification < activerecord::base   belongs_to :product end 

i'm setting named scope should fetch products associated payment_notification has status completed.

i under impression should work in product model:

scope :completed, joins(:payment_notification).where(:payment_notification => { :status => 'completed' }) 

but results in following error:

error: mysql::error: unknown column 'payment_notification.status' in 'where clause': select     `products`.*       `items`  inner join `payment_notifications` on `payment_notifications`.`product_id` = `productss`.`id`     (`payment_notification`.`status` = 'completed') 

can help?

try this:

scope :completed, joins(:payment_notification).where(:payment_notifications =>                      { :status => 'completed' }) 

notice plural : payment_notifications.


Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

html - Instapaper-like algorithm -

c# - How to execute a particular part of code asynchronously in a class -