Thanks John!

On Friday, May 4, 2012 7:48:34 AM UTC-3, Jon Leighton wrote:
>
> There has been discussion about putting a new syntax into Rails 4 that 
> more closely resembles scopes. Example: 
>
> has_many :comments, -> { where(deleted: false).order(:created_at) } 
>
> This would solve the problem of eager evaluation because it's contained 
> in a lambda. 
>
> I'll be looking into this when I get around to it. 
>
> On 03/05/12 19:28, Gabriel Sobrinho wrote: 
> > Take a look (not my production code but reproduces the desired 
> behavior): 
> > 
> > ``` ruby 
> > class Post < ActiveRecord::Base 
> > attr_accessible :published_at, :name 
> > 
> > has_and_belongs_to_many :categories, :order => lambda { 
> > [Category.arel_table[:published_at].desc, Category.arel_table[:name]] } 
> > end 
> > ``` 
> > 
> > ``` ruby 
> > class Category < ActiveRecord::Base 
> > attr_accessible :published_at, :name 
> > 
> > has_and_belongs_to_many :posts, :order => lambda { 
> > [Post.arel_table[:published_at].desc, Post.arel_table[:name]] } 
> > end 
> > ``` 
> > 
> > ``` ruby 
> > Category.first.posts 
> > # => TypeError: Cannot visit Proc 
> > ``` 
> > 
> > ``` ruby 
> > Post.first.categories 
> > # => TypeError: Cannot visit Proc 
> > ``` 
> > 
> > The problem happens when we have a cross reference between two models 
> > and need to use arel due to difference on quote of columns. 
> > 
> > Sounds reasonable? 
> > 
> > Reference: https://github.com/rails/rails/issues/6146 
> > 
> > -- 
> > 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/-/I5NDxR9PCvgJ. 
> > 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. 
>
> -- 
> http://jonathanleighton.com/ 
>

-- 
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/-/wDFNN_2rTEoJ.
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.

Reply via email to