I''m working on my first rails project after having gone through quite a
bit of Ruby on Rails/Up and Running.
I have a model ''Configuration''.
In the view that got scaffolded for me (I''m still back on rails version
1.2.3) I have a list.rhtml that looks like this
<table>
<tr>
<% for column in Configuration.content_columns %>
<th><%= column.human_name %></th>
<% end %>
</tr>
<% for configuration in @configurations %>
<tr>
<% for column in Configuration.content_columns %>
<td><%=h configuration.send(column.name) %></td>
<% end %>
[ snip ... ]
My Configuration table has many columns, and in the list view, I''d just
like to show the ''important'' columns. Initially in my model I
defined
class Configuration < ActiveRecord::Base
def self.important_columns
return [ :description, :rate, :duration, :host]
end
end
This didn''t work, but I realized I''m returning strings, not
objects. I modified the view to be
<% for column in Configuration.important_columns %>
<td><%=h configuration.send(column) %></td>
<% end %>
But I now no longer have access to human_name for the titles. How can I get
access to the column objects, knowing their names?
I thought I could perhaps figure this out by myself if I could find the source
code for content_columns, but I couldn''t find it, any hints on how I
might have accomplished that?
TIA,
Leonard
--~--~---------~--~----~------------~-------~--~----~
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Philip Hallstrom
2008-Feb-29 00:34 UTC
Re: Returning ''column'' objects like content_columns does
> I''m working on my first rails project after having gone through quite a bit of Ruby on Rails/Up and Running......> But I now no longer have access to human_name for the titles. How can I get access to the column objects, knowing their names? > > I thought I could perhaps figure this out by myself if I could find the > source code for content_columns, but I couldn''t find it, any hints on > how I might have accomplished that?Look in the API docs for "content_columns". Then click the "source" link to see the method definition. For 1.2.5 it''s this: # File vendor/rails/activerecord/lib/active_record/base.rb, line 781 781: def content_columns 782: @content_columns ||= columns.reject { |c| c.primary || c.name =~ /(_id|_count)$/ || c.name == inheritance_column } 783: end --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---