У меня есть довольно простое приложение Ruby on Rails: две модели Lists
и Items
. Lists
имеют много Items
и Items
принадлежат Lists
. OK.
Метод show
для ListsController
печатает страницу со списком элементов, принадлежащих данному списку (частично lists/_listOfItems.html.erb
). В конце представления show.html.erb
есть форма, позволяющая пользователям добавлять элемент в список. В стандартном (без jQuery) RoR это работает отлично.
Теперь я хочу позволить пользователю добавить элемент в список без перезагрузки страницы. Мне удалось с помощью jQuery добавить элемент в базу данных, но теперь моя проблема заключается в обновлении списка HTML без перезагрузки страницы. Мне удалось выполнить create.js.erb
в ItemsController
, и я могу заставить вещи появляться на странице вместе с ним, но проблема в том, что этот create.js.erb
живет в ItemsController
, а не в ListsController
, так что если я попытаюсь чтобы create.js.erb
отобразил частичное _listOfItems.html.erb
, произойдет сбой, поскольку create.js.erb
находится в ItemsController
и, следовательно, не может получить доступ к переменным, определенным в методе show
ListsController
.
Полагаю, это сработало бы как заклинание, если бы я использовал index
метод ItemsController
, чтобы отобразить список предметов, поскольку там все будет жить, но это может привести к дальнейшим осложнениям.
Надеюсь, это было ясно. Вы можете мне помочь? Большое спасибо!