Skip to content

Commit 7772a69

Browse files
committed
Ensure default render path works with meta options
1 parent 4643417 commit 7772a69

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

spec/dummy/app/controllers/inertia_meta_controller.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ class InertiaMetaController < ApplicationController
66
before_action :set_description_meta_tag, only: [:from_before_filter, :cleared_meta]
77
before_action :set_deduplicatable_tags, only: :auto_dedup
88

9+
inertia_config(
10+
default_render: -> { action_name == :meta_with_default_render }
11+
)
12+
913
def basic
1014
render inertia: 'TestComponent', meta: [
1115
{ name: 'description', content: 'Inertia rules', head_key: 'first_head_key' },
@@ -80,6 +84,12 @@ def cleared_meta
8084
render inertia: 'TestComponent'
8185
end
8286

87+
def meta_with_default_render
88+
render inertia: { some: 'prop' }, meta: [
89+
{ name: 'description', content: 'default rendering still works' },
90+
]
91+
end
92+
8393
protected
8494

8595
def set_description_meta_tag

spec/dummy/config/routes.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,5 @@
9797
get 'auto_dedup_meta' => 'inertia_meta#auto_dedup'
9898
get 'allowed_duplicates_meta' => 'inertia_meta#allowed_duplicates'
9999
get 'cleared_meta' => 'inertia_meta#cleared_meta'
100+
get 'meta_with_default_render' => 'inertia_meta#meta_with_default_render'
100101
end

spec/inertia/meta_tag_rendering_spec.rb

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,4 +155,22 @@
155155
get cleared_meta_path, headers: headers
156156
expect(response.parsed_body['props']['_inertia_meta']).not_to be
157157
end
158+
159+
context 'with default rendering' do
160+
it 'returns meta tags with default rendering' do
161+
get meta_with_default_render_path, headers: headers
162+
163+
expect(response.parsed_body['props']['some']).to eq('prop')
164+
expect(response.parsed_body['props']['_inertia_meta']).to eq(
165+
[
166+
{
167+
'tagName' => 'meta',
168+
'name' => 'description',
169+
'content' => 'default rendering still works',
170+
'headKey' => 'meta-name-description',
171+
}
172+
]
173+
)
174+
end
175+
end
158176
end

0 commit comments

Comments
 (0)