Phlip
1
Railsters:
Our design is just one refactor away from attaining Nirvana (and
deleting a lot of code!). Only this bug stands between us and
enlightenment:
http://dev.rubyonrails.org/ticket/6415
Here’s a synopsis:
Frog.find( :all, :include => { :species => ['clade'] },
:conditions => ['clade_id in (?)', 1],
:limit => 12 )
That produces this:
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column
‘clade_id’ in ‘where clause’: SELECT id FROM frogs WHERE (clade_id in
(1)) LIMIT 12
That SELECT is clearly missing most of its details, including niceties
like frogs.* for the result columns.
Without the :limit, it works fine (so I don’t think that :offset is
implicated, like the ticket says).
I’m going into ActiveRecord to monkey patch this. Has anyone tried yet?
–
Phlip
http://www.oreilly.com/catalog/9780596510657/
^ assert_xpath
O'Reilly Media - Technology and Business Training ← assert_latest Model
Phlip
2
Hi –
On Wed, 22 Aug 2007, Phlip wrote:
Frog.find( :all, :include => { :species => [‘clade’] },
:conditions => [‘clade_id in (?)’, 1],
:limit => 12 )
That produces this:
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column
‘clade_id’ in ‘where clause’: SELECT id FROM frogs WHERE (clade_id in
(1)) LIMIT 12
Does it work if you change clade_id to species.clade_id?
David
–
Phlip
3
dblack wrote:
Frog.find( :all, :include => { :species => [‘clade’] },
:conditions => [‘clade_id in (?)’, 1],
:limit => 12 )
Does it work if you change clade_id to species.clade_id?
That was it! Thanks!
I didn’t think that would work because the SELECT statement was so
totally broken. That didn’t indicate pilot error to me.
(Also it’s habtm, so it’s clades_species.clade_id…)
And now a lot of code that’s doing a heckuva job is about to get
downsized.
with_scope rules!
BTW we have both of these… (-;
–
Phlip
http://www.oreilly.com/catalog/9780596510657/
^ assert_xpath
O'Reilly Media - Technology and Business Training ← assert_latest Model