gem 'komposer'In order to use Komposer in your administration panel, you need to require some dependencies.
// app/assets/javascripts/administration.js
//= require komposer// app/assets/stylesheets/administration.scss
@import 'komposer';Generate new block with:
rails generate komposer:block title_block title:stringThe previous command generates:
frontend/components/title_blocks/_block_form.html.slimfrontend/components/title_blocks/_title_block.html.slimfrontend/components/title_blocks/title_block.jsfrontend/components/title_blocks/title_block.css- append to
frontend/components/index.js
A block is very similar to component, but they have a form representation
to be administrable.
To administrate the block since a back-office, you need to declare presence of blocks in model.
# app/models/article.rb
class Article < ApplicationRecord
has_blocks([:title_blocks])
end# app/views/articles/_form.html.slim
= bootstrap_form_for @article do |f|
= f.blocks_formNow in your frontend pages, you can just render blocks like normal Rails partials.
= render @article.blocks