class ActiveRecord::Associations::SingularAssociation
:nodoc:
def _create_record(attributes, raise_error = false, &block)
def _create_record(attributes, raise_error = false, &block) record = build_record(attributes, &block) saved = record.save set_new_record(record) raise RecordInvalid.new(record) if !saved && raise_error record end
def build(attributes = nil, &block)
def build(attributes = nil, &block) record = build_record(attributes, &block) set_new_record(record) record end
def find_target
def find_target if disable_joins scope.first else super.first end end
def force_reload_reader
Implements the reload reader method, e.g. foo.reload_bar for
def force_reload_reader reload(true) target end
def reader
:nodoc:
def reader ensure_klass_exists! if !loaded? || stale_target? reload end target end
def replace(record)
def replace(record) raise NotImplementedError, "Subclasses must implement a replace(record) method" end
def scope_for_create
def scope_for_create super.except!(klass.primary_key) end
def set_new_record(record)
def set_new_record(record) replace(record) end
def writer(record)
def writer(record) replace(record) end