निम्नलिखित उन तरीकों को सूचीबद्ध करेगा जो उपयोगकर्ता वर्ग के पास है कि आधार ऑब्जेक्ट वर्ग के पास नहीं है ...
>> User.methods - Object.methods
=> ["field_types", "maximum", "create!", "active_connections", "to_dropdown",
"content_columns", "su_pw?", "default_timezone", "encode_quoted_value",
"reloadable?", "update", "reset_sequence_name", "default_timezone=",
"validate_find_options", "find_on_conditions_without_deprecation",
"validates_size_of", "execute_simple_calculation", "attr_protected",
"reflections", "table_name_prefix", ...
ध्यान दें कि methodsकक्षाओं के लिए और कक्षा उदाहरणों के लिए एक विधि है।
यहाँ वो विधियाँ हैं जो मेरे उपयोगकर्ता वर्ग में हैं जो ActiveRecord बेस क्लास में नहीं हैं:
>> User.methods - ActiveRecord::Base.methods
=> ["field_types", "su_pw?", "set_login_attr", "create_user_and_conf_user",
"original_table_name", "field_type", "authenticate", "set_default_order",
"id_name?", "id_name_column", "original_locking_column", "default_order",
"subclass_associations", ...
# I ran the statements in the console.
ध्यान दें कि (कई) has_many रिश्तों के परिणामस्वरूप बनाए गए तरीके उपयोगकर्ता वर्ग में परिभाषित कॉल के परिणामों में नहीं हैं methods।
जोड़ा गया नोट: has_many विधियों को सीधे नहीं जोड़ता है। इसके बजाय, ActiveRecord मशीनरी मक्खी पर विधि कॉल को संभालने के लिए रूबी method_missingऔर responds_toतकनीकों का उपयोग करती है। परिणामस्वरूप, methodsविधि विधि परिणाम में सूचीबद्ध नहीं हैं ।
@current_userचाहते हैं?