Merge branch 'docs-render_if_exists-opts-caveat' into 'master'

Explain render_if_exists opts caveat

See merge request gitlab-org/gitlab-ce!28366
This commit is contained in:
Phil Hughes 2019-05-16 16:55:34 +00:00
commit a37a62cf18

View file

@ -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,