Help on loop

Using

   @f = font.family

will overwrite @f each time through the loop. That's why you see only the last value.

If you wanted to build up an array, you could write:

   @f =    for font in Magick.fonts      @f << font.family    end

But you can do this all in one line:

   @f = Magick.fonts.collect &:family

(I'm assuming you're doing this in a Rails app. If you're doing it in a standalone script, you would need to add "require 'active_support'" for the &:family thingy to work)

This is equivalent to what ebeard showed, but uses some new sugar Rails gives you. See http://pragdave.pragprog.com/pragdave/2005/11/symbolto_proc.html. I think this is going to be standard in Ruby 1.9.

Something like this maybe?

<%= select("SomeModel", "SomeAttribute", @f {|f| [ f ] }), :prompt => "Select a font" %>

Guys ... put this in a helper ... littering your views with procedural code. Will be difficult to maintain.