নীচে ব্যবহারকারী শ্রেণীর যে পদ্ধতিগুলি বেস অবজেক্ট শ্রেণিতে নেই তা তালিকাভুক্ত করবে ...
>> 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
ক্লাস এবং ক্লাসের উদাহরণগুলির জন্য একটি পদ্ধতি।
আমার ব্যবহারকারী শ্রেণীর যে পদ্ধতিগুলি অ্যাক্টিভেকর্ড বেস শ্রেণিতে নেই তা এখানে রয়েছে:
>> 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 সরাসরি পদ্ধতি যুক্ত করে না। পরিবর্তে, অ্যাক্টিভেকর্ড যন্ত্রপাতি রুবি method_missing
এবং ফ্লাইগুলিতে responds_to
পদ্ধতি কলগুলি পরিচালনা করতে কৌশলগুলি ব্যবহার করে । ফলস্বরূপ, পদ্ধতির ফলাফলের ফলাফলগুলি তালিকাভুক্ত নয় methods
।
@current_user
?