-
Notifications
You must be signed in to change notification settings - Fork 331
Show Overrides
In show views columns are rendered with the same format as in list views. If you want to customize the presentation of a column in the show view, you can define a specially named method in your helper file. The format is #{class_name}_#{column_name}_show_column
. So, for example, to customize the :username
column displayed on your show view of UsersController
, you would add a user_username_show_column
method to your UsersHelper
file. (The one in app/helpers)
In v2.3 and previous versions format was #{column_name}_show_column
, so method was named username_show_column
.
This override method accepts one argument: the entire record object. It is your responsibility to retrieve the interesting value from the record and to clean the value with h()
.
This override method is used by Show.
Example:
class User < ActiveRecord::Base
has_many :roles
end
module UsersHelper
# joins the first three roles with a hyphen instead of the normal comma.
# ok, so this one isn't very original.
def user_roles_show_column(record)
record.roles.first(3).collect{|role| h(role)}.join(' - ')
end
# creates a popup link to the associated division (belongs_to association)
def user_division_show_column(record)
link_to(h(record.division.name), :action => :show, :controller => 'divisions', :id => record.division.id)
end
end