Class: RubyUiScaffold::Generators::ScaffoldControllerGenerator
- Inherits:
-
Rails::Generators::ScaffoldControllerGenerator
- Object
- Rails::Generators::ScaffoldControllerGenerator
- RubyUiScaffold::Generators::ScaffoldControllerGenerator
- Includes:
- AttributeHelpers
- Defined in:
- lib/generators/ruby_ui_scaffold/scaffold_controller/scaffold_controller_generator.rb
Overview
Inherits Rails’ ScaffoldControllerGenerator but:
(1) Overrides its controller template (controller.rb.tt) to render
Phlex view classes instead of ERB partials.
(2) Redirects the template_engine hook to `ruby_ui_scaffold:scaffold`
so our Phlex view generator runs (instead of erb:scaffold).
Constant Summary
Constants included from AttributeHelpers
AttributeHelpers::EXCLUDED_FROM_SORT
Instance Method Summary collapse
-
#create_controller_files ⇒ Object
Pick the right controller template based on –datatable.
Methods included from AttributeHelpers
#reference_associations, #searchable_columns, #sortable_columns
Instance Method Details
#create_controller_files ⇒ Object
Pick the right controller template based on –datatable. Default is the simple controller (Model.all + render Index.new(models:)). With –datatable, emit the variant with SORTABLE_COLUMNS + params parsing + scope building.
37 38 39 40 |
# File 'lib/generators/ruby_ui_scaffold/scaffold_controller/scaffold_controller_generator.rb', line 37 def create_controller_files source = [:datatable] ? "controller_data_table.rb" : "controller.rb" template source, File.join("app/controllers", controller_class_path, "#{controller_file_name}_controller.rb") end |