diff --git a/lib/hanami/action/response.rb b/lib/hanami/action/response.rb index 36623fb7..6bde3c0a 100644 --- a/lib/hanami/action/response.rb +++ b/lib/hanami/action/response.rb @@ -72,7 +72,7 @@ def body=(str) end def render(view, **options) - self.body = view.(**view_options.(request, self), **options).to_str + self.body = view.(**view_options.(request, self), **options.merge(exposures)).to_str end def format=(args) diff --git a/spec/integration/hanami/controller/application_action/view_rendering_spec.rb b/spec/integration/hanami/controller/application_action/view_rendering_spec.rb index 21cdd43b..564b1160 100644 --- a/spec/integration/hanami/controller/application_action/view_rendering_spec.rb +++ b/spec/integration/hanami/controller/application_action/view_rendering_spec.rb @@ -35,6 +35,7 @@ class TestAction < Main::Action include Deps[view: "views.test_view"] def handle(req, res) + res[:job] = "Singer" res.render view, name: req.params[:name] end end @@ -73,7 +74,7 @@ class View < Hanami::View module Main module Views class TestView < Main::View - expose :name + expose :name, :job end end end @@ -89,6 +90,7 @@ class TestView < Main::View h1 Hello, #{name} - request.params.to_h.values.sort.each do |value| p = value + p = job SLIM require "hanami/init" @@ -97,7 +99,7 @@ class TestView < Main::View response = action.(name: "Jennifer", last_name: "Lopez") rendered = response.body[0] - expect(rendered).to eq "

Hello, Jennifer

Jennifer

Lopez

" + expect(rendered).to eq "

Hello, Jennifer

Jennifer

Lopez

Singer

" end end end