module CmAdmin::ViewHelpers::FormHelper
Constants
- REJECTABLE
Public Instance Methods
form_with_all_fields(resource, method)
click to toggle source
# File lib/cm_admin/view_helpers/form_helper.rb, line 23 def form_with_all_fields(resource, method) columns = resource.class.columns.dup table_name = resource.class.table_name columns.reject! { |i| REJECTABLE.include?(i.name) } url = CmAdmin::Engine.mount_path + "/#{table_name}/#{resource.id}" set_form_for_fields(resource, columns, url, method) end
form_with_mentioned_fields(resource, available_fields, method)
click to toggle source
# File lib/cm_admin/view_helpers/form_helper.rb, line 31 def form_with_mentioned_fields(resource, available_fields, method) columns = resource.class.columns.select { |i| available_fields.include?(i.name.to_sym) } table_name = resource.class.table_name columns.reject! { |i| REJECTABLE.include?(i.name) } url = CmAdmin::Engine.mount_path + "/#{table_name}/#{resource.id}" set_form_for_fields(resource, columns, url, method) end
generate_form(resource, cm_model)
click to toggle source
# File lib/cm_admin/view_helpers/form_helper.rb, line 8 def generate_form(resource, cm_model) if resource.new_record? action = :new method = :post else action = :edit method = :patch end if cm_model.available_fields[action].empty? return form_with_all_fields(resource, method) else return form_with_mentioned_fields(resource, cm_model.available_fields[:edit], method) end end
set_form_for_fields(resource, columns, url, method)
click to toggle source
# File lib/cm_admin/view_helpers/form_helper.rb, line 39 def set_form_for_fields(resource, columns, url, method) form_for(resource, url: url, method: method) do |f| columns.each do |field| concat f.label field.name, class: 'field-label' concat tag.br concat input_field_for_column(f, field) concat tag.p resource.errors[field.name].first if resource.errors[field.name].present? concat tag.br concat tag.br end concat tag.br concat f.submit 'Save', class: 'cta-btn mt-3' end end