diff --git a/app/controllers/turbo/frames/frame_request.rb b/app/controllers/turbo/frames/frame_request.rb index d771b551..229c094b 100644 --- a/app/controllers/turbo/frames/frame_request.rb +++ b/app/controllers/turbo/frames/frame_request.rb @@ -1,22 +1,11 @@ # Turbo frame requests are requests made from within a turbo frame with the intention of replacing the content of just # that frame, not the whole page. They are automatically tagged as such by the Turbo Frame JavaScript, which adds a -# Turbo-Frame header to the request. When that header is detected by the controller, we ensure that any -# template layout is skipped (since we're only working on an in-page frame, thus can skip the weight of the layout), and -# that the etag for the page is changed (such that a cache for a layout-less request isn't served on a normal request -# and vice versa). -# -# This is merely a rendering optimization. Everything would still work just fine if we rendered everything including the layout. -# Turbo Frames knows how to fish out the relevant frame regardless. +# Turbo-Frame header to the request. # # This module is automatically included in ActionController::Base. module Turbo::Frames::FrameRequest extend ActiveSupport::Concern - included do - layout -> { false if turbo_frame_request? } - etag { :frame if turbo_frame_request? } - end - private def turbo_frame_request? request.headers["Turbo-Frame"].present? diff --git a/test/frames/frame_request_controller_test.rb b/test/frames/frame_request_controller_test.rb index 160b9b96..4999d0e1 100644 --- a/test/frames/frame_request_controller_test.rb +++ b/test/frames/frame_request_controller_test.rb @@ -1,12 +1,12 @@ require "turbo_test" class Turbo::FrameRequestControllerTest < ActionDispatch::IntegrationTest - test "frame requests are rendered without a layout" do + test "frame requests are rendered with a layout" do get tray_path(id: 1) assert_select "title", count: 1 get tray_path(id: 1), headers: { "Turbo-Frame" => "true" } - assert_select "title", count: 0 + assert_select "title", count: 1 end test "frame requests get a unique etag" do @@ -16,6 +16,6 @@ class Turbo::FrameRequestControllerTest < ActionDispatch::IntegrationTest get tray_path(id: 1), headers: { "Turbo-Frame" => "true" } etag_with_frame = @response.headers["ETag"] - assert_not_equal etag_with_frame, etag_without_frame + assert_equal etag_with_frame, etag_without_frame end end