Id

Name

Photo

Email address Login Roles Aliases Addresses
2482 Guy Steuart - - - vancouver
Names Edit Delete Show
2481 Pepe Goteras - - pip-pip, yay Madrid EspaƱa, 28026
Names Edit Delete Show

Source

/controllers/users_controller.rb

class UsersController < DemoController

  active_scaffold :user do |config|
    config.columns = [:id, :name, :photo, :first_name, :middle_name, :last_name, :phone_number, :email_address,
                      :login, :password, :roles, :aliases, :addresses]

    config.columns[:phone_number].description = "(Format: ###-###-####)"
    config.columns[:phone_number].label = "Phone"

    config.create.columns.exclude :id, :name
    config.update.columns.exclude :id, :name
    config.list.columns.exclude :first_name, :middle_name, :last_name, :password, :phone_number
    config.subform.columns = [:first_name, :last_name, :login, :password]

    config.list.sorting = {:login => 'ASC'}

    config.nested.add_link "Names", [:aliases]

    config.create.columns.exclude(:first_name, :middle_name, :last_name, :phone_number)
    config.create.columns.add_subgroup "Personal Data" do |group|
      group.add(:first_name, :middle_name, :last_name, :phone_number)
    end
  end

end

/models/user.rb

class User < ActiveRecord::Base
  has_and_belongs_to_many :roles
  has_many :aliases, :dependent => :destroy
  has_many :addresses, :as => :addressable

  validates_presence_of :first_name, :last_name
  file_column :photo#, :magick => { 
  #   :versions => {
  #     :thumb => {:size => "40x40"} 
  #   } 
  # }
  
  validates_filesize_of :photo, :in => 0..25.kilobytes
  
  def name
    last_name.nil? ? first_name : first_name + " " + last_name
  end

end

/helpers/users_helper.rb

module UsersHelper
  include DemoHelper
  
end