On Feb 27, 2009, at 2:56 PM, Ga Ga wrote:
> Rob Biedenharn wrote:
>> On Feb 27, 2009, at 11:42 AM, Rob Biedenharn wrote:
>>> match_part =
>> self.class.
>>>
>>> Rob Biedenharn    http://agileconsultingllc.com
>>> [email protected]
>>
>> Sorry, if you look at the docs, sanitize_sql is a protected class
>> method of ActiveRecord::Base
>
> Is there some alternative way to it, and not to use protected classes?
> --  


It's not a protected "class", it's a protected method in the class  
ActiveRecord::Base which your Article class is a sub-class.  If you  
don't like the form of the call, make your own class method like this:

class Article
   def self.keyword_find(keyword)
     match_part = sanitize_sql(['MATCH(title, body) AGAINST(?)',  
keyword])
     find(:all, :select => "*, #{match_part} AS score",
          :conditions => match_part, :order => 'score DESC')
   end
end

Then just call "normally":

good_articles = Article.keyword_find('chocolate')

Does that make you happier?  There's nothing wrong with using  
sanitize_sql, you just need to call it from the Article class rather  
than 'directly'.

-Rob

Rob Biedenharn          http://agileconsultingllc.com
[email protected]

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to