diff --git a/lib/generators/alchemy/ingredient/ingredient_generator.rb b/lib/generators/alchemy/ingredient/ingredient_generator.rb index f105cfc26a..8670126163 100644 --- a/lib/generators/alchemy/ingredient/ingredient_generator.rb +++ b/lib/generators/alchemy/ingredient/ingredient_generator.rb @@ -14,6 +14,10 @@ def init @ingredients_view_path = "app/views/alchemy/ingredients" end + def create_view_component + template "view_component.rb.tt", "app/components/alchemy/ingredients/#{file_name}_view.rb" + end + def create_model template "model.rb.tt", "app/models/alchemy/ingredients/#{file_name}.rb" end @@ -21,6 +25,7 @@ def create_model def copy_templates @ingredient_editor_local = "#{file_name}_editor" @ingredient_view_local = "#{file_name}_view" + @ingredient_view_component_class = "#{@class_name}View" template "view.html.erb", "#{@ingredients_view_path}/_#{file_name}_view.html.erb" template "editor.html.erb", "#{@ingredients_view_path}/_#{file_name}_editor.html.erb" end diff --git a/lib/generators/alchemy/ingredient/templates/view.html.erb b/lib/generators/alchemy/ingredient/templates/view.html.erb index 8d942fd7d8..e38f28b418 100644 --- a/lib/generators/alchemy/ingredient/templates/view.html.erb +++ b/lib/generators/alchemy/ingredient/templates/view.html.erb @@ -1 +1 @@ -<%%= <%= @ingredient_view_local %>.value %> +<%%= render Alchemy::Ingredients::<%= @ingredient_view_component_class %>.new(<%= @ingredient_view_local %>) %> diff --git a/lib/generators/alchemy/ingredient/templates/view_component.rb.tt b/lib/generators/alchemy/ingredient/templates/view_component.rb.tt new file mode 100644 index 0000000000..50c05c1643 --- /dev/null +++ b/lib/generators/alchemy/ingredient/templates/view_component.rb.tt @@ -0,0 +1,10 @@ +module Alchemy + module Ingredients + class <%= @class_name %>View < BaseView + + def call + content_tag(:div, ingredient.value) + end + end + end +end