method_missing
- 1.0.0 (0)
- 1.1.6 (0)
- 1.2.6 (0)
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- 7.1.3.4
- What's this?
Related methods
- Class methods (218)
- === (<= v3.2.13)
- abstract_class? (<= v3.1.0)
- accessible_attributes (<= v2.3.8)
- active_connection_name (<= v2.1.0)
- add_conditions! (<= v2.3.8)
- add_group! (<= v2.3.8)
- add_joins! (<= v2.3.8)
- add_limit! (<= v2.3.8)
- add_lock! (<= v2.3.8)
- add_order! (<= v2.3.8)
- aggregate_mapping (<= v3.1.0)
- all (<= v2.3.8)
- all_attributes_exists? (<= v3.1.0)
- allow_concurrency (<= v2.3.8)
- allow_concurrency= (<= v2.3.8)
- arel_engine (<= v3.2.13)
- arel_table (<= v3.2.13)
- array_of_strings? (<= v2.3.8)
- attr_accessible (<= v2.3.8)
- attribute_condition (<= v2.3.8)
- attribute_method? (<= v3.1.0)
- attribute_names (<= v3.1.0)
- attributes_protected_by_def... (<= v3.1.0)
- attr_protected (<= v2.3.8)
- attr_readonly (<= v3.1.0)
- base_class (<= v3.1.0)
- before_remove_const (<= v3.1.0)
- benchmark (<= v2.3.8)
- build_default_scope (<= v3.1.0)
- class_name (<= v2.3.8)
- class_name_of_active_record... (<= v2.3.8)
- class_of_active_record_desc... (<= v3.1.0)
- clear_active_connection_name (<= v2.1.0)
- clear_active_connections! (<= v3.2.13)
- clear_all_cached_connections! (<= v2.1.0)
- clear_cache! (<= v3.1.0)
- clear_connection_cache! (<= v1.0.0)
- clear_reloadable_connections! (<= v2.1.0)
- colorize_logging (<= v3.0.9)
- colorize_logging= (<= v3.0.9)
- column_defaults (<= v3.1.0)
- column_methods_hash (<= v3.1.0)
- column_names (<= v3.1.0)
- columns (<= v3.1.0)
- columns_hash (<= v3.1.0)
- compute_table_name (<= v3.1.0)
- compute_type (<= v3.1.0)
- configurations (<= v3.2.13)
- connected? (<= v3.2.13)
- connection (<= v3.2.13)
- connection= (<= v2.1.0)
- connection_config (<= v3.2.13)
- connection_handler (<= v3.2.13)
- connection_id (<= v3.2.13)
- connection_id= (<= v3.2.13)
- connection_pool (<= v3.2.13)
- construct_attributes_from_a... (<= v3.0.9)
- construct_conditions_from_a... (<= v1.1.6)
- construct_finder_arel (<= v3.1.0)
- construct_finder_sql (<= v2.3.8)
- content_columns (<= v3.1.0)
- count (<= v1.0.0)
- count_by_sql (<= v3.1.0)
- create (<= v3.1.0)
- current_scope (<= v3.1.0)
- current_scope= (<= v3.1.0)
- current_scoped_methods (<= v3.0.9)
- decrement_counter (<= v2.3.8)
- default_scope (<= v3.1.0)
- default_select (<= v2.3.8)
- default_timezone (<= v3.2.13)
- define_attr_method (<= v2.3.8)
- delete (<= v2.3.8)
- delete_all (<= v2.3.8)
- descends_from_active_record? (<= v3.1.0)
- destroy (<= v2.3.8)
- destroy_all (<= v2.3.8)
- determine_deprecated_finder (<= v1.2.6)
- determine_finder (<= v2.1.0)
- determine_instantiator (<= v2.1.0)
- encode_quoted_value (<= v3.1.0)
- establish_connection (<= v3.2.13)
- evaluate_default_scope (<= v3.1.0)
- exists? (<= v2.3.8)
- expand_attribute_names_for_... (<= v3.1.0)
- expand_hash_conditions_for_... (<= v3.1.0)
- expand_id_conditions (<= v2.3.8)
- expand_range_bind_variables (<= v3.1.0)
- extract_attribute_names_fro... (<= v2.1.0)
- extract_options_from_args! (<= v1.0.0)
- find (<= v2.3.8)
- find_by_sql (<= v3.1.0)
- finder_needs_type_condition? (<= v3.1.0)
- find_every (<= v2.3.8)
- find_from_ids (<= v2.3.8)
- find_initial (<= v2.3.8)
- find_last (<= v2.3.8)
- find_one (<= v2.3.8)
- find_some (<= v2.3.8)
- find_sti_class (<= v3.1.0)
- first (<= v2.3.8)
- full_table_name_prefix (<= v3.1.0)
- generated_feature_methods (<= v3.2.13)
- get_primary_key (<= v2.3.8)
- human_attribute_name (<= v2.3.8)
- human_name (<= v2.3.8)
- i18n_scope (<= v3.1.0)
- ignore_default_scope= (<= v3.1.0)
- ignore_default_scope? (<= v3.1.0)
- increment_counter (<= v2.3.8)
- inheritance_column (<= v3.1.0)
- inheritance_column= (<= v3.1.0)
- inherited (<= v3.2.13)
- initialize_generated_modules (<= v3.2.13)
- inspect (<= v3.2.13)
- instantiate (<= v3.1.0)
- last (<= v2.3.8)
- log_connections (<= v2.1.0)
- logger (<= v3.2.13)
- lookup_ancestors (<= v3.1.0)
- matches_dynamic_finder? (<= v2.1.0)
- matches_dynamic_finder_with... (<= v2.1.0)
- merge_conditions (<= v2.3.8)
- merge_includes (<= v2.3.8)
- merge_joins (<= v2.3.8)
- method_missing (<= v3.1.0)
- mysql2_connection (<= v3.2.13)
- mysql_connection (<= v3.2.13)
- new (<= v3.2.13)
- parse_config! (<= v1.2.6)
- parse_sqlite_config! (<= v2.3.8)
- pluralize_table_names (<= v3.1.0)
- postgresql_connection (<= v3.2.13)
- primary_key (<= v2.3.8)
- primary_key_prefix_type (<= v3.1.0)
- protected_attributes (<= v2.3.8)
- quote_bound_value (<= v3.1.0)
- quoted_table_name (<= v3.1.0)
- quote_value (<= v3.1.0)
- raise_if_bind_arity_mismatch (<= v3.1.0)
- read_methods (<= v1.0.0)
- readonly_attributes (<= v3.1.0)
- relation (<= v3.2.13)
- remove_connection (<= v3.2.13)
- remove_stale_cached_threads! (<= v2.1.0)
- replace_bind_variables (<= v3.1.0)
- replace_named_bind_variables (<= v3.1.0)
- require_mysql (<= v2.1.0)
- reset_column_information (<= v3.1.0)
- reset_column_information_an... (<= v3.0.9)
- reset_counters (<= v2.3.8)
- reset_primary_key (<= v2.3.8)
- reset_scoped_methods (<= v3.0.9)
- reset_sequence_name (<= v3.1.0)
- reset_subclasses (<= v3.0.9)
- reset_table_name (<= v3.1.0)
- respond_to? (<= v3.1.0)
- retrieve_connection (<= v3.2.13)
- reverse_sql_order (<= v2.3.8)
- safe_to_array (<= v2.3.8)
- sanitize (<= v3.1.0)
- sanitize_conditions (<= v3.1.0)
- sanitize_sql (<= v3.1.0)
- sanitize_sql_array (<= v3.1.0)
- sanitize_sql_for_assignment (<= v3.1.0)
- sanitize_sql_for_conditions (<= v3.1.0)
- sanitize_sql_hash (<= v3.1.0)
- sanitize_sql_hash_for_assig... (<= v3.1.0)
- sanitize_sql_hash_for_condi... (<= v3.1.0)
- schema_format (<= v3.2.13)
- scope (<= v2.3.8)
- scoped? (<= v2.3.8)
- scoped_methods (<= v3.0.9)
- scoped_methods= (<= v1.0.0)
- self_and_descendants_from_a... (<= v2.3.8)
- self_and_descendents_from_a... (<= v2.2.1)
- sequence_name (<= v3.1.0)
- sequence_name= (<= v3.1.0)
- serialize (<= v3.1.0)
- serialized_attributes (<= v3.0.9)
- set_inheritance_column (<= v3.1.0)
- set_locking_column (<= v1.1.6)
- set_primary_key (<= v2.3.8)
- set_readonly_option! (<= v2.3.8)
- set_sequence_name (<= v3.1.0)
- set_table_name (<= v3.1.0)
- silence (<= v2.3.8)
- single_threaded_active_conn... (<= v2.1.0)
- single_threaded_scoped_methods (<= v2.1.0)
- sqlite3_connection (<= v3.2.13)
- sqlite_connection (<= v2.3.8)
- sti_name (<= v3.1.0)
- subclasses (<= v3.0.9)
- symbolized_base_class (<= v3.1.0)
- symbolized_sti_name (<= v3.1.0)
- table_exists? (<= v3.1.0)
- table_name (<= v3.1.0)
- table_name= (<= v3.1.0)
- table_name_prefix (<= v3.1.0)
- table_name_suffix (<= v3.1.0)
- threaded_connections (<= v1.0.0)
- threaded_connections= (<= v1.0.0)
- thread_safe_active_connections (<= v2.1.0)
- thread_safe_scoped_methods (<= v2.1.0)
- timestamped_migrations (<= v3.2.13)
- type_condition (<= v3.1.0)
- type_name_with_module (<= v2.3.8)
- undecorated_table_name (<= v3.1.0)
- unscoped (<= v3.1.0)
- update (<= v2.3.8)
- update_all (<= v2.3.8)
- update_counters (<= v2.3.8)
- validate_find_options (<= v2.3.8)
- verification_timeout (<= v2.3.8)
- verification_timeout= (<= v2.3.8)
- verify_active_connections! (<= v2.1.0)
- with_exclusive_scope (<= v3.1.0)
- with_scope (<= v3.1.0)
- Instance methods (107)
- <=> (<= v3.2.13)
- == (<= v3.2.13)
- [] (<= v3.0.9)
- []= (<= v3.0.9)
- arel_attributes_values (<= v3.1.0)
- assign_attributes (<= v3.1.0)
- assign_multiparameter_attri... (<= v3.1.0)
- attribute_for_inspect (<= v3.1.0)
- attribute_names (<= v3.1.0)
- attribute_present? (<= v3.1.0)
- attributes (<= v3.1.0)
- attributes= (<= v3.1.0)
- attributes_before_type_cast (<= v2.3.8)
- attributes_from_column_defi... (<= v2.3.8)
- attributes_protected_by_def... (<= v2.3.8)
- attributes_with_quotes (<= v2.3.8)
- becomes (<= v2.3.8)
- cache_key (<= v3.1.0)
- clear_timestamp_attributes (<= v3.1.0)
- clone (<= v2.3.8)
- clone_attributes (<= v3.1.0)
- clone_attribute_value (<= v3.1.0)
- column_for_attribute (<= v3.1.0)
- comma_pair_list (<= v3.1.0)
- connection (<= v3.2.13)
- convert_number_column_value (<= v3.1.0)
- create (<= v2.3.8)
- create_or_update (<= v2.3.8)
- decrement (<= v2.3.8)
- decrement! (<= v2.3.8)
- define_question_method (<= v1.2.6)
- define_read_method (<= v1.2.6)
- define_read_method_for_seri... (<= v1.2.6)
- define_read_methods (<= v1.2.6)
- delete (<= v2.3.8)
- destroy (<= v2.3.8)
- destroyed? (<= v2.3.8)
- dup (<= v3.2.13)
- encode_with (<= v3.2.13)
- ensure_proper_type (<= v3.1.0)
- eql? (<= v3.2.13)
- evaluate_read_method (<= v1.2.6)
- execute_callstack_for_multi... (<= v3.1.0)
- extract_callstack_for_multi... (<= v3.1.0)
- extract_max_param_for_multi... (<= v3.1.0)
- find_parameter_position (<= v3.1.0)
- freeze (<= v3.2.13)
- frozen? (<= v3.2.13)
- has_attribute? (<= v3.1.0)
- hash (<= v3.2.13)
- id (<= v2.3.8)
- id= (<= v2.3.8)
- id_before_type_cast (<= v2.3.8)
- increment (<= v2.3.8)
- increment! (<= v2.3.8)
- initialize_copy (<= v3.0.9)
- initialize_dup (<= v3.2.13)
- init_with (<= v3.2.13)
- inspect (<= v3.2.13)
- instantiate_time_object (<= v3.1.0)
- interpolate_and_sanitize_sql (<= v3.0.9)
- interpolate_sanitized_sql (<= v3.0.9)
- interpolate_sql (<= v3.0.0)
- log_protected_attribute_rem... (<= v2.3.8)
- mass_assignment_options (<= v3.1.0)
- mass_assignment_role (<= v3.1.0)
- method_missing (<= v1.2.6)
- new_record? (<= v2.3.8)
- object_from_yaml (<= v3.0.9)
- populate_with_current_scope... (<= v3.1.0)
- query_attribute (<= v1.2.6)
- quote (<= v1.2.6)
- quote_columns (<= v3.1.0)
- quoted_column_names (<= v2.3.8)
- quoted_comma_pair_list (<= v3.1.0)
- quoted_id (<= v3.1.0)
- quote_value (<= v3.1.0)
- read_attribute (<= v1.2.6)
- read_attribute_before_type_... (<= v1.2.6)
- read_date_parameter_value (<= v3.1.0)
- readonly! (<= v3.2.13)
- readonly? (<= v3.2.13)
- read_other_parameter_value (<= v3.1.0)
- read_time_parameter_value (<= v3.1.0)
- read_value_from_parameter (<= v3.1.0)
- reload (<= v2.3.8)
- remove_attributes_protected... (<= v2.3.8)
- remove_readonly_attributes (<= v2.3.8)
- respond_to? (<= v1.2.6)
- save (<= v2.3.8)
- save! (<= v2.3.8)
- set_serialized_attributes (<= v3.1.0)
- to_ary (<= v3.2.13)
- toggle (<= v2.3.8)
- toggle! (<= v2.3.8)
- to_param (<= v3.1.0)
- to_xml (<= v1.1.6)
- to_yaml (<= v3.2.13)
- type_cast_attribute_value (<= v3.1.0)
- unserializable_attribute? (<= v1.2.6)
- unserialize_attribute (<= v1.2.6)
- update (<= v2.3.8)
- update_attribute (<= v2.3.8)
- update_attributes (<= v2.3.8)
- update_attributes! (<= v2.3.8)
- write_attribute (<= v1.2.6)
- yaml_initialize (<= v3.2.13)
= private
= protected
Method deprecated or moved
This method is deprecated or moved on the latest stable version. The last existing version (v1.2.6) is shown here.
These similar methods exist in v7.1.3.2:
- ActiveSupport::TimeWithZone#method_missing
- ActiveRecord::Migration#method_missing
- Mime::Type#method_missing
- ActiveSupport::Multibyte::Chars#method_missing
- ActionMailer::Base#method_missing
- ActiveSupport::OptionMerger#method_missing
- ActiveSupport::Duration#method_missing
- ActionView::Helpers::AtomFeedHelper::AtomBuilder#method_missing
- ActiveSupport::StringInquirer#method_missing
- ActiveSupport::OrderedOptions#method_missing
- ActiveSupport::Deprecation::DeprecationProxy#method_missing
- AbstractController::Collector#method_missing
- ActionDispatch::Integration::Runner#method_missing
- ActionDispatch::Assertions::RoutingAssertions#method_missing
- ActiveModel::AttributeMethods#method_missing
- Rails::Railtie::Configuration#method_missing
- Rails::Configuration::Generators#method_missing
- Rails::ActionMethods#method_missing
- ActionView::TestCase::Behavior#method_missing
- ActiveSupport::LogSubscriber::TestHelper::MockLogger#method_missing
- ActionDispatch::Routing::RoutesProxy#method_missing
- ActiveRecord::Migration#method_missing
- ActiveRecord::Migration::CommandRecorder#method_missing
- Rails::Railtie::Configurable::ClassMethods#method_missing
- ActiveRecord::DynamicMatchers#method_missing
- ActionMailer::Base::NullMail#method_missing
- Mime::NullType#method_missing
- ActiveRecord::Delegation::ClassSpecificRelation#method_missing
- ActionController::MimeResponds::Collector::VariantCollector#method_missing
- Rails::Railtie#method_missing
- Rails::Application::Configuration::Custom#method_missing
- ActiveSupport::ArrayInquirer#method_missing
- ActionMailer::Parameterized::Mailer#method_missing
- ActionView::Helpers::TagHelper::TagBuilder#method_missing
- ActiveSupport::CurrentAttributes#method_missing
- ActiveSupport::Deprecation::DeprecatedConstantProxy#method_missing
- ActionDispatch::SystemTestCase#method_missing
- ActiveRecord::ConnectionAdapters::NullPool::NullConfig#method_missing
- ActiveRecord::Migration::DefaultStrategy#method_missing
- ActiveSupport::BroadcastLogger#method_missing
- DummyConfig#method_missing
- ActiveRecord::TestFixtures#method_missing
method_missing(method_id, *args, &block)
private
Allows access to the object attributes, which are held in the @attributes hash, as were they first-class methods. So a Person class with a name attribute can use Person#name and Person#name= and never directly use the attributes hash — except for multiple assigns with ActiveRecord#attributes=. A Milestone class can also ask Milestone#completed? to test that the completed attribute is not nil or 0.
It’s also possible to instantiate related objects, so a Client class belonging to the clients table with a master_id foreign key can instantiate master through Client#master.
# File activerecord/lib/active_record/base.rb, line 1846 def method_missing(method_id, *args, &block) method_name = method_id.to_s if @attributes.include?(method_name) or (md = /\?$/.match(method_name) and @attributes.include?(query_method_name = md.pre_match) and method_name = query_method_name) define_read_methods if self.class.read_methods.empty? && self.class.generate_read_methods md ? query_attribute(method_name) : read_attribute(method_name) elsif self.class.primary_key.to_s == method_name id elsif md = self.class.match_attribute_method?(method_name) attribute_name, method_type = md.pre_match, md.to_s if @attributes.include?(attribute_name) __send__("attribute#{method_type}", attribute_name, *args, &block) else super end else super end end
See documentation for the class method
Since Rails version 2, this instance method no longer exists.
You may be looking for its namesake class method, ActiveRecord::Base.method_missing