Отобразить вид другого контроллера - PullRequest
5 голосов
/ 01 декабря 2011

То, что я хочу сделать, это иметь 2 разных контроллера, client и test_client. Контроллер клиента уже построен, и я хочу создать контроллер test_client, который я могу использовать, чтобы поиграть с пользовательским интерфейсом клиента и настроить его по мере необходимости. В основном я пытаюсь обойти проверку, встроенную в клиент, и ее зависимость от контроллера администратора, который загружает данные.

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

Я пробовал это в методе индекса test_clients:

class TestClient
    def index
        render :template => 'client/index'
    end
end

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

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

Ответы [ 3 ]

6 голосов
/ 01 декабря 2011

Вам необходимо настроить вид так, чтобы путь к нужному вам фрагменту был в форме 'controller/partial'. В этом случае, вероятно, 'client/partial'. Тогда вы можете просто использовать render 'client/index', как и раньше.

Итак, где-то, по вашему мнению, у вас есть это:

<%= render :partial => 'info' %>

Вы хотите изменить это на:

<%= render :partial => 'client/info' %>
2 голосов
/ 01 декабря 2011

Преобразование представлений вашего клиентского контроллера в партиалы, создание пустых представлений для всех действий в контроллере test_client, отображение партиалов клиента для соответствующих представлений test_client.

Пример:
вид клиента
index.html.erb to _index.html.erb

представление test_client
index.html.erb
в этом представлении <% = render: частичный => 'клиенты / индекс',: locals => {}%>

0 голосов
/ 01 декабря 2011

Вы можете сделать это несколькими способами, и все разные.Один из способов, которым вы могли бы это сделать, - поместить ваших искателей в докладчика.Затем превратите некоторые данные в представлении индекса в частичное, или вы можете отобразить шаблон с макетом, установленным в значение false.

Затем в представлении client_test вы можете отобразить этот индекс с предъявителем, связанным с ним.

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