Components

For components, customization can be used to change both the logic (included in a .rb file) and the view (included in a .erb file). If you only want to customize the logic for, let's say, the Admin::TableActionsComponent, create a file named app/components/custom/admin/table_actions_component.rb with the following content:

require_dependency Rails.root.join("app", "components", "admin", "table_actions_component").to_s

class Admin::TableActionsComponent
  # Your custom logic here
end

If, on the other hand, you also want to customize the view, you need a small modification. Instead of the previous code, use:

class Admin::TableActionsComponent < ApplicationComponent; end

require_dependency Rails.root.join("app", "components", "admin", "table_actions_component").to_s

class Admin::TableActionsComponent
  # Your custom logic here
end

This will make the component use the view in app/components/custom/admin/table_actions_component.html.erb. You can create this file and customize it to your needs.

Last updated