The Default Controller provides out-of-the-box functionality to get you up and running quickly, but as your application progresses you will likely need to provide custom functionality in some areas.
A custom controller is just a regular Rails controller. You can still benefit from default actions provided by ActiveElement and only override the specific actions you need.
In the example below we’ll implement a custom #show
action on a UsersController
and create a custom view.
# app/controllers/users_controller.rb
class UsersController < ApplicationController
active_element.listable_fields :name, :email, :created_at, order: :name
active_element.editable_fields :name, :email
active_element.searchable_fields :name, :name, :created_at, :updated_at
active_element.deletable
def show
@user = User.find(params[:id])
end
end
<%# app/views/users/index.html.erb %>
<%= active_element.component.page_title 'Users' %>
<%= active_element.component.table item: @user, fields: [:email, :name, :created_at, :updated_at] %>
You can customize any action or view you like, simply by following standard Rails patterns.