Cool.  Learn something new all the time.

Thanks.

On Dec 26, 5:38 pm, Jonzo <[email protected]> wrote:
> On another side note:
>
> @Ryan - You wrote:
>
> A more efficient way is to do this is:
> @project_names = Project.all(:select => 'name').map(&:name)
>
> While you've made a database optimisation there, you've also used the
> shorthand notation for the map function. I read somewhere that map
> (&:name) is quite a bit less efficient than map{ |p| p.name }
>
> unfortunately I can't find the article that convinced me in the first
> place... I can only find this blog with the issue mentioned in the
> comments:
>
> http://blog.hasmanythrough.com/2006/3/7/symbol-to-proc-shorthand
>
> On Dec 27, 2:23 am, Sazima <[email protected]> wrote:
>
> > Zhao,
>
> > I think the most straightforward way is using columns.map
> > (Project.columns.map { |c| puts c.name }), just like the inspect
> > method of ActiveRecord:
>
> > inspect()
>
> > Returns a string like ‘Post id:integer, title:string, body:text‘
>
> >  # File vendor/rails/activerecord/lib/active_record/base.rb, line 1348
> > 1348:       def inspect
> > 1349:         if self == Base
> > 1350:           super
> > 1351:         elsif abstract_class?
> > 1352:           "#{super}(abstract)"
> > 1353:         elsif table_exists?
> > 1354:           attr_list = columns.map { |c| "#{c.name}: #{c.type}" }
> > * ', '
> > 1355:           "#{super}(#{attr_list})"
> > 1356:         else
> > 1357:           "#{super}(Table doesn't exist)"
> > 1358:         end
> > 1359:       end
>
> > Cheers, Sazima
>
> > On Dec 26, 3:27 am, Mohit Sindhwani <[email protected]> wrote:
>
> > > Zhao Yi wrote:
> > > > Ryan wrote:
>
> > > >> I think it's been around since Rails 2.1
>
> > > >> Project.first
> > > >> Project.last
> > > >> Project.all
>
> > > >> all work.
>
> > > > I think the first last and all refers to rows. I want to select columns.
>
> > > If I'm not wrong, relational algebra doesn't identify a sequence between
> > > the elements of a row, i.e., I don't think it gives you the ability to
> > > select a column specifically.  That said, you could probe for the schema
> > > and get the elements using that - something like how the dynamic
> > > scaffold used to work in earlier Rails.
>
> > > Cheers,
> > > Mohit.
> > > 12/26/2008 | 1:27 PM.
--~--~---------~--~----~------------~-------~--~----~
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