Render szablonu innego kontrolera w innym kontrolerze

Witam.
Nie potrafię sobie poradzić optymalnie z problemem.
Mam w kontrolerze szablon(partial indeksu tabeli). W drugim kontrolerze chcę go wykorzystać w taki sposób:

<%= render "list_proj/indexTable"%>

Niestety przy wyświetleniu widoku z kontrolerze drugim wyskakuje błąd, że nie może znaleźć metody(bo wiadomo że jest w drugim kontrolerze). W jaki sposób sobie z tym poradzić?
Pozdrawiam serdecznie.

zamieść informacje o błędzie, skąd mamy wiedzieć jakiej metody nie może znaleźć

Błąd (iteracja)

<tbody>
     <% @projects.each do |abc| %> # < błąd
         <tr>
           <td><%= abc.presence %></td>
           <td><%= abc.other_id %></td>
....

Nie widzi mi @projects w innym kontrolerze, a ja się zastanawiam jak ją przekazać w takim wypadku.

po pierwsze nie stosuj w partialach zmiennych instancji

po drugie odnosząc się do tego błędu to jak chcesz użyć partiala, który wywołuje zmienną instancji to w każdej akcji, która renderuje ten partial musisz ustawiać zmienną @projects. Jak tego nie ustawić to zmienna jest nil

Dziękuję za wyjaśnienie. Możesz wyjaśnić bardziej, co oznacza “nie stosuj w partialach zmiennych instancji” ?

problem ze stosowaniem zmiennych instacji w partialach jest taki, że musisz zawsze pamiętać że miennej instacji musisz wywołać w kontrolerze, wg mnie lepszym rozwiązaniem jest przekazanie zmiennej projects jako zmienną lokalną do partiala:

render "list_proj/indexTable", projects: @projects

w ten sposób o ile będziesz musisł zmienną @projects przypisać w kontrolerze o tyle w innym kontrolerze będziesz mógł użyć innej zmiennej instancji, np.:

render "list_proj/indexTable", projects: @posts

używając zmiennych instancji tylko w głównych szablonach widoków akcji (chodzi o te pliki, które nie zaczynają się symbole “_”) nie musisz szukać zmiennych po wszystkich partialach a masz je tylko w jednym pliku

Dziękuję za wyjaśnienie. Pozdrawiam.