Josh, I appreciate the feedback. The consensus was that adding polymorphic support would have the most value so I went ahead and added support for the cases I could think of. I was hoping you could take a look at the test cases<https://github.com/beerlington/rails/blob/0df2f082005ce0f57a544c30c646d1bae45bbcf8/activerecord/test/cases/relation/where_test.rb#L24-50> I wrote and see if they're what you had in mind.
Thanks! - Pete On Tuesday, August 7, 2012 10:28:04 AM UTC-4, Josh Susser wrote: > > I think this makes a lot of sense. I tried to do this for the old > find_by_x dynamic finders a few years ago but was thwarted by the amount of > refactoring it would require. Using association names instead of the > underlying foreign key is more natural and keeps things at the right level > of abstraction, and is especially helpful for polymorphic associations. If > the new ARel-based query API enables this to be done without changing a > bunch of other things, I'm all for it. > > -- > Josh Susser > > On Tuesday, August 7, 2012 at 8:23 AM, Peter Brown wrote: > > Hi, > > Guillermo asked me to post this here for feedback: > https://github.com/rails/rails/pull/7273 > > The pull request has some examples and rationale for the change, but > basically it would let you *specify the model name in queries when you'd > normally use a foreign key*. > > These queries would then be equivalent: > > Post.where(:author_id => author) > Post.where(:author => author) > > and so would these: > > Author.where(:posts => {:author_id => author}).joins(:posts) > Author.where(:posts => {:author => author}).joins(:posts) > > TL;DR > > - API is more consistent with other parts of ActiveRecord > - Works with polymorphic relationships > - Better for legacy schemas that don't follow Rails' foreign key > conventions (you don't need to remember column names) > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/rubyonrails-core/-/lGc5FokBYLoJ. > To post to this group, send email to [email protected]<javascript:> > . > To unsubscribe from this group, send email to > [email protected] <javascript:>. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-core?hl=en. > > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-core/-/7KVzezeMguAJ. 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-core?hl=en.
