Sha256: 1504c066dd6fe288c5bb64f70c942e5609f3aec9993d6cdeee1ac639aa2cb247
Contents?: true
Size: 1.12 KB
Versions: 3
Compression:
Stored size: 1.12 KB
Contents
module Formtastic module Helpers # @private module Reflection # If an association method is passed in (f.input :author) try to find the # reflection object. def reflection_for(method) #:nodoc: @object.class.reflect_on_association(method) if @object.class.respond_to?(:reflect_on_association) end def association_macro_for_method(method) #:nodoc: reflection = reflection_for(method) reflection.macro if reflection end def association_primary_key_for_method(method) #:nodoc: reflection = reflection_for(method) if reflection case association_macro_for_method(method) when :has_and_belongs_to_many, :has_many, :references_and_referenced_in_many, :references_many :"#{method.to_s.singularize}_ids" else return reflection.foreign_key.to_sym if reflection.respond_to?(:foreign_key) return reflection.options[:foreign_key].to_sym unless reflection.options[:foreign_key].blank? :"#{method}_id" end else method.to_sym end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
formtastic-2.0.0.rc3 | lib/formtastic/helpers/reflection.rb |
formtastic-2.0.0.rc2 | lib/formtastic/helpers/reflection.rb |
formtastic-2.0.0.rc1 | lib/formtastic/helpers/reflection.rb |