summaryrefslogtreecommitdiff
path: root/doc/development
diff options
context:
space:
mode:
authorLuke Bennett <lbennett@gitlab.com>2019-05-16 15:06:40 +0000
committerLuke Bennett <lbennett@gitlab.com>2019-05-16 15:06:40 +0000
commitbc545cfd7cb0c1405943aac55881356c9016b1c3 (patch)
tree2a9859478e55dea02deebf80a14473d8e059e494 /doc/development
parentbc852e05e388b6f85462a89bf395f74cf16a97de (diff)
downloadgitlab-ce-bc545cfd7cb0c1405943aac55881356c9016b1c3.tar.gz
Explain render_if_exists opts caveatdocs-render_if_exists-opts-caveat
Diffstat (limited to 'doc/development')
-rw-r--r--doc/development/ee_features.md14
1 files changed, 13 insertions, 1 deletions
diff --git a/doc/development/ee_features.md b/doc/development/ee_features.md
index 8706fe537fa..9db28bcddf8 100644
--- a/doc/development/ee_features.md
+++ b/doc/development/ee_features.md
@@ -446,16 +446,28 @@ The disadvantage of this:
port `render_if_exists` to CE.
- If we have typos in the partial name, it would be silently ignored.
+
+##### Caveats
+
The `render_if_exists` view path argument must be relative to `app/views/` and `ee/app/views`.
Resolving an EE template path that is relative to the CE view path will not work.
```haml
- # app/views/projects/index.html.haml
-= render_if_exists 'button' # Will not render `ee/app/views/projects/_button` and quietly fail
+= render_if_exists 'button' # Will not render `ee/app/views/projects/_button` and will quietly fail
= render_if_exists 'projects/button' # Will render `ee/app/views/projects/_button`
```
+You should not explicitly set render options like `partial` or provide a `locals` hash.
+The first argument should be a path string and the second can be a hash replacing `locals`.
+
+```ruby
+render partial: 'projects/button', locals: { project: project }
+# becomes
+render_if_exists 'projects/button', project: project
+```
+
#### Using `render_ce`
For `render` and `render_if_exists`, they search for the EE partial first,