Из вашего вопроса и комментария у вас следующая структура:
application.html.erb:
...
<section id="filter-bar">
<section id="filter"></section>
</section>
Я вижу там два разных варианта, как включить вашу ссылку условно:
- Делая
if-then
в вашем файле application.html.erb
- Включением
yield
с символом, обозначающим контекст.
Вот псевдокод для этого:
решение
application.html.erb:
...
<section id="filter-bar">
<section id="filter">
<% if controller_name == 'user' && action_name == 'show' %>
<%= link_to "Back", :index %>
<% end %>
</section>
</section>
решение
application.html.erb:
...
<section id="filter-bar">
<section id="filter">
<%= yield(:filter) %>
</section>
</section>
view.html.erb:
<%- content_for :filter do %>
<%= link_to "Back", :index %>
<% end %>
...
index.html.erb:
// No content_for section in the file, so it will be empty here.
Первое решение более простое, гораздо более сжатое, но вся информация, если что-то включено или нет, содержится в одном файле. Если это сильно изменилось, это может быть горячей точкой в вашем приложении. Второй - более объектно-ориентированный, но, возможно, больше нужно изменить и подумать. Но оба будут работать на вас.