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
-~----------~----~----~----~------~----~------~--~---