Как сделать частичное на указанном c контроллере - PullRequest
0 голосов
/ 08 января 2020

Я планировал отобразить представление на конкретном c контроллере, поэтому я попытался инициировать этот код ниже на моем views / layouts.rb:

if controller == 'home' && action == 'index'
   <%= render 'layouts/sliding_door' %>
end 

, конечно, это не сработало. Есть ли способ сделать эту работу?

Ответы [ 2 ]

2 голосов
/ 08 января 2020

У вас есть controller_name и action_name доступных в просмотрах:

<% if controller_name == 'home' && action_name == 'index' %>
  <%= render 'layouts/sliding_door' %>
<% end %>
1 голос
/ 08 января 2020

В качестве альтернативы вы можете использовать переменную экземпляра, чтобы определить, следует ли добавлять частичку layouts/sliding_door или нет.

В контроллере вы можете добавить:

@sliding_door = true

И тогда представление будет иметь:

<%= render 'layouts/sliding_door' if @sliding_door %>

Это упростит переключение на другие действия и контроллеры и в будущем, вместо того, чтобы добавлять проверку новых контроллеров и имена действий каждый раз, когда это необходимо визуализировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...