aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/CHANGELOG.md
diff options
context:
space:
mode:
authorPeter Schilling <peter@peterschilling.org>2016-09-30 10:55:38 -0700
committerPeter Schilling <peter@peterschilling.org>2016-10-02 00:21:17 -0700
commitf9960f2d74b510e0d994d49377cec36301f7e7f0 (patch)
tree82f369d688faafaaeaa559a6847dc6fee3edec5c /actionview/CHANGELOG.md
parent72f97e281059bc983eef5bc8915e53249c623dff (diff)
downloadrails-f9960f2d74b510e0d994d49377cec36301f7e7f0.tar.gz
rails-f9960f2d74b510e0d994d49377cec36301f7e7f0.tar.bz2
rails-f9960f2d74b510e0d994d49377cec36301f7e7f0.zip
Change render to support any hash keys in locals
this lets you pass ruby keywords to templates: <%= render 'example', class: "cool" %> <%= render 'example', "spaces are" => "a-ok" %> <%= render 'example', Foo: "bar" %> Previously you'd see confusing syntax errors like this: SyntaxError (.../_example.html.erb:1: syntax error, unexpected '=' Now you can reference invalid identifiers through local_assigns. If you try to use an invalid keyword (e.g. class) in your template, you get a syntax error on the line where you use it.
Diffstat (limited to 'actionview/CHANGELOG.md')
-rw-r--r--actionview/CHANGELOG.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/actionview/CHANGELOG.md b/actionview/CHANGELOG.md
index 8bd4e1e56c..e93745c3bf 100644
--- a/actionview/CHANGELOG.md
+++ b/actionview/CHANGELOG.md
@@ -1,3 +1,21 @@
+* Render now accepts any keys for locals, including reserved words
+
+ Only locals with valid variable names get set directly. Others
+ will still be available in local_assigns.
+
+ Example of render with reserved words:
+
+ ```erb
+ <%= render "example", class: "text-center", message: "Hello world!" %>
+
+ <!-- _example.html.erb: -->
+ <%= tag.div class: local_assigns[:class] do %>
+ <p><%= message %></p>
+ <% end %>
+ ```
+
+ *Peter Schilling*, *Matthew Draper*
+
* Show cache hits and misses when rendering partials.
Partials using the `cache` helper will show whether a render hit or missed