Если в вашей таблице комментариев есть какой-то посторонний ключ, на который ссылается ваш has_one ...
Discussion.find(:all, :conditions => {:comments=>{:author => 'blah'}},
:joins => :special_comment)
даст вам все обсуждения, где special_comment создан 'blah'.
Discussion.find(:all, :conditions => {:comments=>{:author => 'blah'}},
:joins => :comments)
предоставит вам все обсуждения, где у них есть комментарии, созданные автором 'blah'.