Module: Inkpen::EditorHelper
- Defined in:
- app/helpers/inkpen/editor_helper.rb
Overview
View helpers for rendering Inkpen editors in Rails views.
Include this module in your ApplicationHelper or use it directly in views that need Inkpen editors.
Instance Method Summary collapse
-
#inkpen_editor(name:, value: nil, **options) ⇒ String
Render an Inkpen editor with explicit configuration.
-
#inkpen_field(object_name, method, options = {}) ⇒ String
Render an Inkpen editor field bound to a model attribute.
Instance Method Details
#inkpen_editor(name:, value: nil, **options) ⇒ String
Render an Inkpen editor with explicit configuration.
Use this when you need full control over the field name and value, or when not binding to a model.
92 93 94 95 96 97 98 99 100 |
# File 'app/helpers/inkpen/editor_helper.rb', line 92 def inkpen_editor(name:, value: nil, **) editor = Inkpen::Editor.new( name: name, value: value, ** ) render_inkpen_editor(editor) end |
#inkpen_field(object_name, method, options = {}) ⇒ String
Render an Inkpen editor field bound to a model attribute.
This helper automatically retrieves the value from the model instance variable if available.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'app/helpers/inkpen/editor_helper.rb', line 49 def inkpen_field(object_name, method, = {}) value = .delete(:value) # Try to get value from object if not provided if value.nil? && (object = instance_variable_get("@#{object_name}")) value = object.public_send(method) if object.respond_to?(method) end name = "#{object_name}[#{method}]" editor = Inkpen::Editor.new( name: name, value: value, ** ) render_inkpen_editor(editor) end |