Module: ActiveModel::Conversion

### Home Classes Methods

### In Files

- lib/active_model/conversion.rb

### Methods

- #to_key
- #to_model
- #to_param
- #to_partial_path

### Class/Module Index

Quicksearch

- ActiveModel
- ActiveModel::AttributeMethods
- ActiveModel::AttributeMethods::ClassMethods
- ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher
- ActiveModel::BlockValidator
- ActiveModel::Callbacks
- ActiveModel::Conversion
- ActiveModel::Dirty
- ActiveModel::EachValidator
- ActiveModel::Errors
- ActiveModel::Lint
- ActiveModel::Lint::Tests
- ActiveModel::MassAssignmentSecurity
- ActiveModel::MassAssignmentSecurity::BlackList
- ActiveModel::MassAssignmentSecurity::ClassMethods
- ActiveModel::MassAssignmentSecurity::Error
- ActiveModel::MassAssignmentSecurity::LoggerSanitizer
- ActiveModel::MassAssignmentSecurity::PermissionSet
- ActiveModel::MassAssignmentSecurity::Sanitizer
- ActiveModel::MassAssignmentSecurity::StrictSanitizer
- ActiveModel::MassAssignmentSecurity::WhiteList
- ActiveModel::MissingAttributeError
- ActiveModel::Name
- ActiveModel::Naming
- ActiveModel::Observer
- ActiveModel::ObserverArray
- ActiveModel::Observing
- ActiveModel::Observing::ClassMethods
- ActiveModel::SecurePassword
- ActiveModel::SecurePassword::ClassMethods
- ActiveModel::SecurePassword::InstanceMethodsOnActivation
- ActiveModel::Serialization
- ActiveModel::Serializers
- ActiveModel::Serializers::JSON
- ActiveModel::Serializers::Xml
- ActiveModel::StrictValidationFailed
- ActiveModel::Translation
- ActiveModel::Validations
- ActiveModel::Validations::AcceptanceValidator
- ActiveModel::Validations::Callbacks
- ActiveModel::Validations::Callbacks::ClassMethods
- ActiveModel::Validations::ClassMethods
- ActiveModel::Validations::ConfirmationValidator
- ActiveModel::Validations::ExclusionValidator
- ActiveModel::Validations::FormatValidator
- ActiveModel::Validations::HelperMethods
- ActiveModel::Validations::InclusionValidator
- ActiveModel::Validations::LengthValidator
- ActiveModel::Validations::NumericalityValidator
- ActiveModel::Validations::PresenceValidator
- ActiveModel::Validations::WithValidator
- ActiveModel::Validator

No matching classes.

# ActiveModel::Conversion

## Active Model Conversions

Handles default conversions: to_model, to_key, to_param, and to_partial_path.

Let's take for example this non-persisted object.

    class ContactMessage
      include ActiveModel::Conversion

      # ContactMessage are never persisted in the DB
      def persisted?
        false
      end
    end

    cm = ContactMessage.new
    cm.to_model == self # => true
    cm.to_key           # => nil
    cm.to_param         # => nil
    cm.to_path          # => "contact_messages/contact_message"

### Public Instance Methods

to_key() click to toggle source

Returns an Enumerable of all key attributes if any is set, regardless if the object is persisted or not.

Note the default implementation uses persisted? just because all objects in Ruby 1.8.x responds to `:id`.

    # File lib/active_model/conversion.rb, line 45
    def to_key
      persisted? ? [id] : nil
    end

to_model() click to toggle source

If your object is already designed to implement all of the Active Model you can use the default `:to_model` implementation, which simply returns self.

If your model does not act like an Active Model object, then you should define `:to_model` yourself returning a proxy object that wraps your object with Active Model compliant methods.

    # File lib/active_model/conversion.rb, line 36
    def to_model
      self
    end

to_param() click to toggle source

Returns a string representing the object's key suitable for use in URLs, or nil if `persisted?` is false.

    # File lib/active_model/conversion.rb, line 51
    def to_param
      persisted? ? to_key.join('-') : nil
    end

to_partial_path() click to toggle source

Returns a string identifying the path associated with the object. ActionPack uses this to find a suitable partial to represent the object.

    # File lib/active_model/conversion.rb, line 57
    def to_partial_path
      self.class._to_partial_path
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.