Skip to content

1.12.0 causes undefined method error #386

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
PikachuEXE opened this issue May 8, 2025 · 3 comments · Fixed by #387
Closed

1.12.0 causes undefined method error #386

PikachuEXE opened this issue May 8, 2025 · 3 comments · Fixed by #387

Comments

@PikachuEXE
Copy link
Contributor

Sample app: https://github.com/PikachuEXE/vite-plugin-erb-issue-5-mvp (too lazy to create new sample app

PikachuEXE/vite-plugin-erb-issue-5-mvp@afdfc89

rails test will fail with 1.12.0 but not 1.11.0

Image

@JacobEvelyn
Copy link
Member

JacobEvelyn commented May 12, 2025

Thanks for reporting this, @PikachuEXE ! I'm able to reproduce the issue with your code but am having trouble producing a minimal reproduction.

The only functional difference between v1.11.0 and v1.12.0 is this line, so I assume the issue is related to that.

Here's what I've discovered so far using your code to reproduce with bundle exec rails test:

  • the difference between self.methods from within app/views/home/index.html.erb in the two memo_wise versions is:
    • v1.11.0 contains: _app_views_home_index_html_erb__3544967860387960030_5464 (note two underscores), _app_views_layouts_application_html_erb___1268960656815003343_5472 (note three underscores), and :xhr?
    • v1.12.0 contains: _app_views_home_index_html_erb___2062552472610767284_5464 (note three underscores)
    • I assume the numbers in those method names will vary between runs but the underscores are a clue that something may be different between their setups.

@PikachuEXE
Copy link
Contributor Author

PikachuEXE commented May 13, 2025

I tried listing the methods in template like you did too
in erb file:

<p>
  Methods: <%= methods %>
</p>

What you said is partially true (the underscores)
But also missing the point that method xhr? is missing in 1.12
However I am not sure how to reproduce this in test case form yet

1.11 methods
Methods: [:default_url_options=, :default_url_options?, :default_url_options, :xhr?, :form_authenticity_token, :notice, :content_security_policy_nonce, :view_cache_dependencies, :combined_fragment_cache_key, :cookies, :content_security_policy?, :alert, :protect_against_forgery?, :_main_app, :main_app, :_routes, :root_path, :rails_health_check_path, :rails_health_check_url, :root_url, :url_for, :url_options, :full_url_for, :route_for, :polymorphic_url, :edit_polymorphic_path, :polymorphic_path, :new_polymorphic_path, :new_polymorphic_url, :edit_polymorphic_url, :_app_views_home_index_html_erb__3903785895266617070_5464, :_app_views_layouts_application_html_erb__1457324473930885587_5472, :compiled_method_container, :inspect, :default_formats=, :_run, :automatically_disable_submit_tag=, :prefix_partial_path_with_controller_namespace=, :annotate_rendered_view_with_filenames=, :debug_missing_translation, :prefix_partial_path_with_controller_namespace, :field_error_proc, :_routes=, :_routes?, :config=, :in_rendering_context, :view_paths, :assigns=, :view_paths=, :streaming_completion_on_exception, :formats=, :locale=, :formats, :config, :assign, :debug_missing_translation=, :assigns, :annotate_rendered_view_with_filenames, :logger, :logger=, :lookup_context, :locale, :automatically_disable_submit_tag, :field_error_proc=, :streaming_completion_on_exception=, :default_formats, :logger?, :view_renderer, :prefix_partial_path_with_controller_namespace?, :vite_legacy_polyfill_tag, :vite_legacy_typescript_tag, :vite_legacy_javascript_tag, :vite_client_tag, :vite_picture_tag, :vite_react_refresh_tag, :vite_typescript_tag, :vite_asset_path, :vite_stylesheet_tag, :vite_asset_url, :vite_javascript_tag, :vite_image_tag, :_layout_for, :render, :number_to_phone, :number_to_currency, :number_to_percentage, :number_with_delimiter, :number_with_precision, :number_to_human_size, :number_to_human, :javascript_tag, :escape_javascript, :javascript_cdata_section, :j, :select, :options_for_select, :options_from_collection_for_select, :option_groups_from_collection_for_select, :grouped_options_for_select, :time_zone_options_for_select, :collection_select, :weekday_options_for_select, :grouped_collection_select, :collection_radio_buttons, :collection_checkboxes, :collection_check_boxes, :time_zone_select, :weekday_select, :l, :t, :translate, :localize, :default_form_builder, :form_with, :multiple_file_field_include_hidden, :text_field, :password_field, :hidden_field, :multiple_file_field_include_hidden=, :text_area, :check_box, :color_field, :search_field, :telephone_field, :phone_field, :date_field, :default_form_builder=, :time_field, :datetime_field, :form_with_generates_remote_forms=, :form_with_generates_remote_forms, :label, :form_with_generates_ids=, :form_with_generates_ids, :radio_button, :checkbox, :month_field, :url_field, :week_field, :datetime_local_field, :fields, :fields_for, :textarea, :range_field, :file_field, :email_field, :number_field, :form_for, :_object_for_form_builder, :dom_id, :dom_class, :model_name_from_record_or_class, :convert_to_model, :form_tag, :field_id, :select_tag, :text_field_tag, :label_tag, :hidden_field_tag, :file_field_tag, :password_field_tag, :textarea_tag, :text_area_tag, :checkbox_tag, :check_box_tag, :radio_button_tag, :submit_tag, :button_tag, :image_submit_tag, :field_set_tag, :fieldset_tag, :color_field_tag, :search_field_tag, :telephone_field_tag, :phone_field_tag, :date_field_tag, :time_field_tag, :datetime_field_tag, :datetime_local_field_tag, :field_name, :month_field_tag, :week_field_tag, :url_field_tag, :email_field_tag, :number_field_tag, :range_field_tag, :utf8_enforcer_tag, :embed_authenticity_token_in_remote_forms=, :default_enforce_utf8=, :embed_authenticity_token_in_remote_forms, :default_enforce_utf8, :cycle, :truncate, :safe_concat, :excerpt, :concat, :word_wrap, :simple_format, :pluralize, :current_cycle, :reset_cycle, :highlight, :debug, :time_ago_in_words, :distance_of_time_in_words_to_now, :date_select, :time_select, :datetime_select, :distance_of_time_in_words, :select_datetime, :select_date, :select_time, :select_second, :select_minute, :select_hour, :select_day, :select_month, :select_year, :time_tag, :csrf_meta_tags, :csrf_meta_tag, :csp_meta_tag, :request_forgery_protection_token, :headers, :flash, :controller, :params, :action_name, :controller=, :request=, :controller_name, :request, :session, :respond_to?, :response, :controller_path, :assign_controller, :sanitizer_vendor=, :sanitizer_vendor, :sanitize, :sanitize_css, :strip_tags, :strip_links, :link_to_unless_current, :current_page?, :link_to_unless, :link_to_if, :mail_to, :sms_to, :phone_to, :button_to_generates_button_tag=, :button_to_generates_button_tag, :link_to, :button_to, :prevent_content_exfiltration, :prepend_content_exfiltration_prevention=, :prepend_content_exfiltration_prevention, :digest_path_from_template, :cache, :cache_fragment_name, :caching?, :uncacheable!, :cache_if, :cache_unless, :atom_feed, :auto_discovery_link_tag, :javascript_include_tag, :favicon_link_tag, :preload_link_tag, :stylesheet_link_tag, :image_loading=, :image_decoding=, :apply_stylesheet_media_default=, :video_tag, :audio_tag, :image_tag, :picture_tag, :preload_links_header=, :image_loading, :image_decoding, :preload_links_header, :apply_stylesheet_media_default, :content_tag, :cdata_section, :class_names, :tag, :token_list, :escape_once, :safe_join, :to_sentence, :raw, :capture, :provide, :content_for?, :with_output_buffer, :content_for, :image_url, :url_to_image, :video_path, :path_to_video, :video_url, :url_to_video, :audio_path, :path_to_audio, :audio_url, :url_to_audio, :font_path, :path_to_font, :font_url, :url_to_font, :javascript_path, :path_to_javascript, :path_to_stylesheet, :path_to_image, :path_to_asset, :url_to_asset, :asset_path, :compute_asset_extname, :public_compute_asset_path, :compute_asset_path, :compute_asset_host, :asset_url, :javascript_url, :url_to_javascript, :stylesheet_path, :stylesheet_url, :url_to_stylesheet, :image_path, :benchmark, :view_flow=, :_prepare_context, :output_buffer=, :view_flow, :output_buffer, :require_dependency, :in?, :acts_like?, :presence_in, :with, :to_yaml, :deep_dup, :html_safe?, :to_param, :to_query, :instance_variable_names, :blank?, :duplicable?, :present?, :presence, :instance_values, :with_options, :as_json, :to_json, :try, :try!, :singleton_class, :dup, :itself, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :display, :gem, :frozen?, :class, :then, :yield_self, :tap, :public_send, :class_eval, :extend, :clone, :&lt;=&gt;, :===, :!~, :nil?, :method, :eql?, :public_method, :singleton_method, :define_singleton_method, :hash, :freeze, :object_id, :send, :to_s, :to_enum, :enum_for, :debugger, :equal?, :!, :__send__, :==, :!=, :__id__, :instance_eval, :instance_exec]
1.12 methods
Methods: [:default_url_options=, :default_url_options?, :default_url_options, :form_authenticity_token, :notice, :content_security_policy_nonce, :view_cache_dependencies, :combined_fragment_cache_key, :cookies, :content_security_policy?, :alert, :protect_against_forgery?, :_main_app, :main_app, :_routes, :root_path, :rails_health_check_path, :rails_health_check_url, :root_url, :url_for, :url_options, :full_url_for, :route_for, :polymorphic_url, :edit_polymorphic_path, :polymorphic_path, :new_polymorphic_path, :new_polymorphic_url, :edit_polymorphic_url, :_app_views_home_index_html_erb__225301381403473180_5464, :_app_views_layouts_application_html_erb___2316096562874370812_5472, :compiled_method_container, :inspect, :default_formats=, :_run, :automatically_disable_submit_tag=, :prefix_partial_path_with_controller_namespace=, :annotate_rendered_view_with_filenames=, :debug_missing_translation, :prefix_partial_path_with_controller_namespace, :field_error_proc, :_routes=, :_routes?, :config=, :in_rendering_context, :view_paths, :assigns=, :view_paths=, :streaming_completion_on_exception, :formats=, :locale=, :formats, :config, :assign, :debug_missing_translation=, :assigns, :annotate_rendered_view_with_filenames, :logger, :logger=, :lookup_context, :locale, :automatically_disable_submit_tag, :field_error_proc=, :streaming_completion_on_exception=, :default_formats, :logger?, :view_renderer, :prefix_partial_path_with_controller_namespace?, :vite_legacy_polyfill_tag, :vite_legacy_typescript_tag, :vite_legacy_javascript_tag, :vite_client_tag, :vite_picture_tag, :vite_react_refresh_tag, :vite_typescript_tag, :vite_asset_path, :vite_stylesheet_tag, :vite_asset_url, :vite_javascript_tag, :vite_image_tag, :_layout_for, :render, :number_to_phone, :number_to_currency, :number_to_percentage, :number_with_delimiter, :number_with_precision, :number_to_human_size, :number_to_human, :javascript_tag, :escape_javascript, :javascript_cdata_section, :j, :select, :options_for_select, :options_from_collection_for_select, :option_groups_from_collection_for_select, :grouped_options_for_select, :time_zone_options_for_select, :collection_select, :weekday_options_for_select, :grouped_collection_select, :collection_radio_buttons, :collection_checkboxes, :collection_check_boxes, :time_zone_select, :weekday_select, :l, :t, :translate, :localize, :default_form_builder, :form_with, :multiple_file_field_include_hidden, :text_field, :password_field, :hidden_field, :multiple_file_field_include_hidden=, :text_area, :check_box, :color_field, :search_field, :telephone_field, :phone_field, :date_field, :default_form_builder=, :time_field, :datetime_field, :form_with_generates_remote_forms=, :form_with_generates_remote_forms, :label, :form_with_generates_ids=, :form_with_generates_ids, :radio_button, :checkbox, :month_field, :url_field, :week_field, :datetime_local_field, :fields, :fields_for, :textarea, :range_field, :file_field, :email_field, :number_field, :form_for, :_object_for_form_builder, :dom_id, :dom_class, :model_name_from_record_or_class, :convert_to_model, :form_tag, :field_id, :select_tag, :text_field_tag, :label_tag, :hidden_field_tag, :file_field_tag, :password_field_tag, :textarea_tag, :text_area_tag, :checkbox_tag, :check_box_tag, :radio_button_tag, :submit_tag, :button_tag, :image_submit_tag, :field_set_tag, :fieldset_tag, :color_field_tag, :search_field_tag, :telephone_field_tag, :phone_field_tag, :date_field_tag, :time_field_tag, :datetime_field_tag, :datetime_local_field_tag, :field_name, :month_field_tag, :week_field_tag, :url_field_tag, :email_field_tag, :number_field_tag, :range_field_tag, :utf8_enforcer_tag, :embed_authenticity_token_in_remote_forms=, :default_enforce_utf8=, :embed_authenticity_token_in_remote_forms, :default_enforce_utf8, :cycle, :truncate, :safe_concat, :excerpt, :concat, :word_wrap, :simple_format, :pluralize, :current_cycle, :reset_cycle, :highlight, :debug, :time_ago_in_words, :distance_of_time_in_words_to_now, :date_select, :time_select, :datetime_select, :distance_of_time_in_words, :select_datetime, :select_date, :select_time, :select_second, :select_minute, :select_hour, :select_day, :select_month, :select_year, :time_tag, :csrf_meta_tags, :csrf_meta_tag, :csp_meta_tag, :request_forgery_protection_token, :headers, :flash, :controller, :params, :action_name, :controller=, :request=, :controller_name, :request, :session, :respond_to?, :response, :controller_path, :assign_controller, :sanitizer_vendor=, :sanitizer_vendor, :sanitize, :sanitize_css, :strip_tags, :strip_links, :link_to_unless_current, :current_page?, :link_to_unless, :link_to_if, :mail_to, :sms_to, :phone_to, :button_to_generates_button_tag=, :button_to_generates_button_tag, :link_to, :button_to, :prevent_content_exfiltration, :prepend_content_exfiltration_prevention=, :prepend_content_exfiltration_prevention, :digest_path_from_template, :cache, :cache_fragment_name, :caching?, :uncacheable!, :cache_if, :cache_unless, :atom_feed, :auto_discovery_link_tag, :javascript_include_tag, :favicon_link_tag, :preload_link_tag, :stylesheet_link_tag, :image_loading=, :image_decoding=, :apply_stylesheet_media_default=, :video_tag, :audio_tag, :image_tag, :picture_tag, :preload_links_header=, :image_loading, :image_decoding, :preload_links_header, :apply_stylesheet_media_default, :content_tag, :cdata_section, :class_names, :tag, :token_list, :escape_once, :safe_join, :to_sentence, :raw, :capture, :provide, :content_for?, :with_output_buffer, :content_for, :image_url, :url_to_image, :video_path, :path_to_video, :video_url, :url_to_video, :audio_path, :path_to_audio, :audio_url, :url_to_audio, :font_path, :path_to_font, :font_url, :url_to_font, :javascript_path, :path_to_javascript, :path_to_stylesheet, :path_to_image, :path_to_asset, :url_to_asset, :asset_path, :compute_asset_extname, :public_compute_asset_path, :compute_asset_path, :compute_asset_host, :asset_url, :javascript_url, :url_to_javascript, :stylesheet_path, :stylesheet_url, :url_to_stylesheet, :image_path, :benchmark, :view_flow=, :_prepare_context, :output_buffer=, :view_flow, :output_buffer, :require_dependency, :in?, :acts_like?, :presence_in, :with, :to_yaml, :deep_dup, :html_safe?, :to_param, :to_query, :instance_variable_names, :blank?, :duplicable?, :present?, :presence, :instance_values, :with_options, :as_json, :to_json, :try, :try!, :singleton_class, :dup, :itself, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :display, :gem, :frozen?, :class, :then, :yield_self, :tap, :public_send, :class_eval, :extend, :clone, :&lt;=&gt;, :===, :!~, :nil?, :method, :eql?, :public_method, :singleton_method, :define_singleton_method, :hash, :freeze, :object_id, :send, :to_s, :to_enum, :enum_for, :debugger, :equal?, :!, :__send__, :==, :!=, :__id__, :instance_eval, :instance_exec]t_minute, :select_hour, :select_day, :select_month, :select_year, :time_tag, :csrf_meta_tags, :csrf_meta_tag, :csp_meta_tag, :request_forgery_protection_token, :headers, :flash, :controller, :params, :action_name, :controller=, :request=, :controller_name, :request, :session, :respond_to?, :response, :controller_path, :assign_controller, :sanitizer_vendor=, :sanitizer_vendor, :sanitize, :sanitize_css, :strip_tags, :strip_links, :link_to_unless_current, :current_page?, :link_to_unless, :link_to_if, :mail_to, :sms_to, :phone_to, :button_to_generates_button_tag=, :button_to_generates_button_tag, :link_to, :button_to, :prevent_content_exfiltration, :prepend_content_exfiltration_prevention=, :prepend_content_exfiltration_prevention, :digest_path_from_template, :cache, :cache_fragment_name, :caching?, :uncacheable!, :cache_if, :cache_unless, :atom_feed, :auto_discovery_link_tag, :javascript_include_tag, :favicon_link_tag, :preload_link_tag, :stylesheet_link_tag, :image_loading=, :image_decoding=, :apply_stylesheet_media_default=, :video_tag, :audio_tag, :image_tag, :picture_tag, :preload_links_header=, :image_loading, :image_decoding, :preload_links_header, :apply_stylesheet_media_default, :content_tag, :cdata_section, :class_names, :tag, :token_list, :escape_once, :safe_join, :to_sentence, :raw, :capture, :provide, :content_for?, :with_output_buffer, :content_for, :image_url, :url_to_image, :video_path, :path_to_video, :video_url, :url_to_video, :audio_path, :path_to_audio, :audio_url, :url_to_audio, :font_path, :path_to_font, :font_url, :url_to_font, :javascript_path, :path_to_javascript, :path_to_stylesheet, :path_to_image, :path_to_asset, :url_to_asset, :asset_path, :compute_asset_extname, :public_compute_asset_path, :compute_asset_path, :compute_asset_host, :asset_url, :javascript_url, :url_to_javascript, :stylesheet_path, :stylesheet_url, :url_to_stylesheet, :image_path, :benchmark, :view_flow=, :_prepare_context, :output_buffer=, :view_flow, :output_buffer, :require_dependency, :in?, :acts_like?, :presence_in, :with, :to_yaml, :deep_dup, :html_safe?, :to_param, :to_query, :instance_variable_names, :blank?, :duplicable?, :present?, :presence, :instance_values, :with_options, :as_json, :to_json, :try, :try!, :singleton_class, :dup, :itself, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :display, :gem, :frozen?, :class, :then, :yield_self, :tap, :public_send, :class_eval, :extend, :clone, :&lt;=&gt;, :===, :!~, :nil?, :method, :eql?, :public_method, :singleton_method, :define_singleton_method, :hash, :freeze, :object_id, :send, :to_s, :to_enum, :enum_for, :debugger, :equal?, :!, :__send__, :==, :!=, :__id__, :instance_eval, :instance_exec]

Update 1: The ApplicationController seems to still have the method
With

<p>
  ApplicationController Methods: <%= ApplicationController.instance_methods %>
</p>
1.11 methods
ApplicationController Methods: [:xhr?, :inherited, :preset_memo_wise, :reset_memo_wise, :_routes, :root_path, :rails_health_check_path, :rails_health_check_url, :root_url, :_helper_methods, :default_static_extension=, :perform_caching=, :_view_cache_dependencies?, :_view_cache_dependencies, :notice, :_view_cache_dependencies=, :_helper_methods=, :forgery_protection_origin_check=, :allow_forgery_protection=, :_run_process_action_callbacks, :_process_action_callbacks, :forgery_protection_strategy=, :raise_on_missing_callback_actions=, :log_warning_on_csrf_failure=, :forgery_protection_strategy, :request_forgery_protection_token=, :log_warning_on_csrf_failure, :default_url_options?, :per_form_csrf_tokens, :forgery_protection_origin_check, :rescue_handlers?, :raise_on_open_redirects, :per_form_csrf_tokens=, :csrf_token_storage_strategy, :_wrapper_options?, :allow_forgery_protection, :csrf_token_storage_strategy=, :request_forgery_protection_token, :flash, :_layout_conditions, :_wrapper_options=, :default_url_options, :default_url_options=, :default_asset_host_protocol, :__callbacks, :rescue_handlers, :rescue_handlers=, :default_asset_host_protocol=, :_helper_methods?, :_renderers, :_renderers=, :helpers_path?, :include_all_helpers=, :include_all_helpers?, :raise_on_missing_callback_actions, :helpers_path, :include_all_helpers, :etaggers=, :etaggers, :_layout_conditions?, :raise_on_open_redirects=, :perform_caching, :_renderers?, :assets_dir, :assets_dir=, :helpers_path=, :etaggers?, :etag_with_template_digest, :_wrapper_options, :etag_with_template_digest=, :etag_with_template_digest?, :default_static_extension, :alert, :javascripts_dir, :javascripts_dir=, :stylesheets_dir, :stylesheets_dir=, :asset_host, :asset_host=, :relative_url_root, :relative_url_root=, :fragment_cache_keys, :enable_fragment_cache_logging, :fragment_cache_keys=, :logger, :logger=, :enable_fragment_cache_logging=, :fragment_cache_keys?, :db_runtime=, :db_runtime, :_main_app, :main_app, :view_runtime, :render, :send_data, :redirect_to, :send_file, :view_runtime=, :show_detailed_exceptions?, :rescue_with_handler, :handler_for_rescue, :authenticate_or_request_with_http_token, :authenticate_with_http_token, :request_http_token_authentication, :authenticate_or_request_with_http_digest, :authenticate_with_http_digest, :request_http_digest_authentication, :http_basic_authenticate_or_request_with, :authenticate_or_request_with_http_basic, :authenticate_with_http_basic, :request_http_basic_authentication, :commit_csrf_token, :reset_csrf_token, :run_callbacks, :default_form_builder, :params, :params=, :method_for_action, :default_render, :send_action, :respond_to, :view_cache_dependencies, :cache_store=, :cache_store, :combined_fragment_cache_key, :read_fragment, :write_fragment, :expire_fragment, :fragment_exist?, :instrument_fragment_cache, :fresh_when, :no_store, :stale?, :expires_in, :expires_now, :http_cache_forever, :head, :render_to_body, :_render_with_renderer_json, :_render_with_renderer_js, :_render_with_renderer_xml, :_render_to_body_with_renderer, :render_to_string, :_process_render_template_options, :action_has_layout?, :action_has_layout=, :view_context_class, :process, :rendered_format, :view_renderer, :view_context, :redirect_back, :redirect_back_or_to, :url_from, :_compute_redirect_to_location, :benchmark, :url_options, :url_for, :optimize_routes_generation?, :full_url_for, :route_for, :polymorphic_url, :edit_polymorphic_path, :polymorphic_path, :new_polymorphic_path, :new_polymorphic_url, :edit_polymorphic_url, :helpers, :_helpers, :l, :t, :translate, :localize, :view_assigns, :view_paths, :_prefixes, :append_view_path, :details_for_lookup, :lookup_context, :locale, :formats=, :locale=, :template_exists?, :any_templates?, :formats, :prepend_view_path, :headers, :controller_name, :request=, :media_type, :request, :status, :to_a, :middleware_stack=, :middleware_stack, :response_body=, :performed?, :set_request!, :set_response!, :response=, :location, :content_type, :dispatch, :response_code, :status=, :content_type=, :reset_session, :session, :middleware_stack?, :location=, :response, :clear_instance_variables_between_requests, :recycle!, :available_action?, :action_name, :inspect, :action_name=, :response_body, :action_methods, :controller_path, :config, :require_dependency, :in?, :acts_like?, :presence_in, :with, :to_yaml, :deep_dup, :html_safe?, :to_param, :to_query, :instance_variable_names, :blank?, :duplicable?, :present?, :presence, :instance_values, :with_options, :as_json, :to_json, :try, :try!, :singleton_class, :dup, :itself, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :display, :gem, :frozen?, :class, :then, :yield_self, :tap, :public_send, :class_eval, :extend, :clone, :&lt;=&gt;, :===, :!~, :nil?, :method, :eql?, :respond_to?, :public_method, :singleton_method, :define_singleton_method, :hash, :freeze, :object_id, :send, :to_s, :to_enum, :enum_for, :debugger, :equal?, :!, :__send__, :==, :!=, :__id__, :instance_eval, :instance_exec]
1.12 methods
ApplicationController Methods: [:preset_memo_wise, :reset_memo_wise, :xhr?, :inherited, :_routes, :root_path, :rails_health_check_path, :rails_health_check_url, :root_url, :_helper_methods, :default_static_extension=, :perform_caching=, :_view_cache_dependencies?, :_view_cache_dependencies, :notice, :_view_cache_dependencies=, :_helper_methods=, :forgery_protection_origin_check=, :allow_forgery_protection=, :_run_process_action_callbacks, :_process_action_callbacks, :forgery_protection_strategy=, :raise_on_missing_callback_actions=, :log_warning_on_csrf_failure=, :forgery_protection_strategy, :request_forgery_protection_token=, :log_warning_on_csrf_failure, :default_url_options?, :per_form_csrf_tokens, :forgery_protection_origin_check, :rescue_handlers?, :raise_on_open_redirects, :per_form_csrf_tokens=, :csrf_token_storage_strategy, :_wrapper_options?, :allow_forgery_protection, :csrf_token_storage_strategy=, :request_forgery_protection_token, :flash, :_layout_conditions, :_wrapper_options=, :default_url_options, :default_url_options=, :default_asset_host_protocol, :__callbacks, :rescue_handlers, :rescue_handlers=, :default_asset_host_protocol=, :_helper_methods?, :_renderers, :_renderers=, :helpers_path?, :include_all_helpers=, :include_all_helpers?, :raise_on_missing_callback_actions, :helpers_path, :include_all_helpers, :etaggers=, :etaggers, :_layout_conditions?, :raise_on_open_redirects=, :perform_caching, :_renderers?, :assets_dir, :assets_dir=, :helpers_path=, :etaggers?, :etag_with_template_digest, :_wrapper_options, :etag_with_template_digest=, :etag_with_template_digest?, :default_static_extension, :alert, :javascripts_dir, :javascripts_dir=, :stylesheets_dir, :stylesheets_dir=, :asset_host, :asset_host=, :relative_url_root, :relative_url_root=, :fragment_cache_keys, :enable_fragment_cache_logging, :fragment_cache_keys=, :logger, :logger=, :enable_fragment_cache_logging=, :fragment_cache_keys?, :db_runtime=, :db_runtime, :_main_app, :main_app, :view_runtime, :render, :send_data, :redirect_to, :send_file, :view_runtime=, :show_detailed_exceptions?, :rescue_with_handler, :handler_for_rescue, :authenticate_or_request_with_http_token, :authenticate_with_http_token, :request_http_token_authentication, :authenticate_or_request_with_http_digest, :authenticate_with_http_digest, :request_http_digest_authentication, :http_basic_authenticate_or_request_with, :authenticate_or_request_with_http_basic, :authenticate_with_http_basic, :request_http_basic_authentication, :commit_csrf_token, :reset_csrf_token, :run_callbacks, :default_form_builder, :params, :params=, :method_for_action, :default_render, :send_action, :respond_to, :view_cache_dependencies, :cache_store=, :cache_store, :combined_fragment_cache_key, :read_fragment, :write_fragment, :expire_fragment, :fragment_exist?, :instrument_fragment_cache, :fresh_when, :no_store, :stale?, :expires_in, :expires_now, :http_cache_forever, :head, :render_to_body, :_render_with_renderer_json, :_render_with_renderer_js, :_render_with_renderer_xml, :_render_to_body_with_renderer, :render_to_string, :_process_render_template_options, :action_has_layout?, :action_has_layout=, :view_context_class, :process, :rendered_format, :view_renderer, :view_context, :redirect_back, :redirect_back_or_to, :url_from, :_compute_redirect_to_location, :benchmark, :url_options, :url_for, :optimize_routes_generation?, :full_url_for, :route_for, :polymorphic_url, :edit_polymorphic_path, :polymorphic_path, :new_polymorphic_path, :new_polymorphic_url, :edit_polymorphic_url, :helpers, :_helpers, :l, :t, :translate, :localize, :view_assigns, :view_paths, :_prefixes, :append_view_path, :details_for_lookup, :lookup_context, :locale, :formats=, :locale=, :template_exists?, :any_templates?, :formats, :prepend_view_path, :headers, :controller_name, :request=, :media_type, :request, :status, :to_a, :middleware_stack=, :middleware_stack, :response_body=, :performed?, :set_request!, :set_response!, :response=, :location, :content_type, :dispatch, :response_code, :status=, :content_type=, :reset_session, :session, :middleware_stack?, :location=, :response, :clear_instance_variables_between_requests, :recycle!, :available_action?, :action_name, :inspect, :action_name=, :response_body, :action_methods, :controller_path, :config, :require_dependency, :in?, :acts_like?, :presence_in, :with, :to_yaml, :deep_dup, :html_safe?, :to_param, :to_query, :instance_variable_names, :blank?, :duplicable?, :present?, :presence, :instance_values, :with_options, :as_json, :to_json, :try, :try!, :singleton_class, :dup, :itself, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :display, :gem, :frozen?, :class, :then, :yield_self, :tap, :public_send, :class_eval, :extend, :clone, :&lt;=&gt;, :===, :!~, :nil?, :method, :eql?, :respond_to?, :public_method, :singleton_method, :define_singleton_method, :hash, :freeze, :object_id, :send, :to_s, :to_enum, :enum_for, :debugger, :equal?, :!, :__send__, :==, :!=, :__id__, :instance_eval, :instance_exec]

Update 2: ApplicationController::HelperMethods is one of the places that misses the xhr? method

<p>
  ApplicationController::HelperMethods Methods: <%= ApplicationController::HelperMethods.instance_methods %>
</p>
1.11 methods
ApplicationController::HelperMethods Methods: [:xhr?, :form_authenticity_token, :notice, :content_security_policy_nonce, :view_cache_dependencies, :combined_fragment_cache_key, :cookies, :content_security_policy?, :alert, :protect_against_forgery?, :vite_legacy_polyfill_tag, :vite_legacy_typescript_tag, :vite_legacy_javascript_tag, :vite_client_tag, :vite_picture_tag, :vite_react_refresh_tag, :vite_typescript_tag, :vite_asset_path, :vite_stylesheet_tag, :vite_asset_url, :vite_javascript_tag, :vite_image_tag]
1.12 methods
ApplicationController::HelperMethods Methods: [:form_authenticity_token, :notice, :content_security_policy_nonce, :view_cache_dependencies, :combined_fragment_cache_key, :cookies, :content_security_policy?, :alert, :protect_against_forgery?, :vite_legacy_polyfill_tag, :vite_legacy_typescript_tag, :vite_legacy_javascript_tag, :vite_client_tag, :vite_picture_tag, :vite_react_refresh_tag, :vite_typescript_tag, :vite_asset_path, :vite_stylesheet_tag, :vite_asset_url, :vite_javascript_tag, :vite_image_tag]

Update 3: CreateMemoWiseStateOnIncluded#included missing super...

Update 4: #387

@JacobEvelyn
Copy link
Member

Yes, I wasn't clear in my earlier comment but I did notice the xhr? difference. Great catch on the super! Will take a look today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants