Sha256: d88f5cd46423b5a8bb975d37430b40b1395c934061f06a8d5246a06415341490
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
module MultiHelper module Form module Helper # Define form helpers that use our form builder. [ :form_for, :fields_for, :remote_form_for ].each do |method| code = <<-END def next_#{method}(name, *args, &block) options = args.last.is_a?(Hash) ? args.pop : {} options = options.merge :builder => MultiHelper::Form::Builder #{method}(name, *(args << options), &block) end END module_eval code, __FILE__, __LINE__ end def link_to_form(purpose, options = {}, html_options = nil) icon = options.delete(:icon) if options.respond_to?(:has_key?) icon ||= case purpose when :new then 'add' when :edit then 'pencil' when :delete then 'cross' # TODO: delete should be a button, not a link when :cancel then 'arrow_undo' end if options.kind_of? String url = options else url = options.delete :url label = options.delete :label end label ||= purpose.to_s.capitalize legend = ( icon.nil? ? '' : "<img src='/images/icons/#{icon}.png' alt=''></img> " ) + label '<div class="buttons">' + link_to(legend, (url || options), html_options) + '</div>' end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lucasefe-multi_helper-0.0.1 | lib/multi_helper/form/helper.rb |