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.
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
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:
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