我有这个相当简单的Ruby on Rails应用程序:两个模型Lists
和Items
。 Lists
有许多Items
和Items
属于Lists
。好。jQuery跨Ruby on Rails模型
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
中,因此无法访问ListsController
的show
方法中定义的变量。
我想如果我使用index
方法ItemsController
来显示项目列表,因为一切都会生活在那里,但这可能会产生更多的复杂性,它会像一个魅力。
我希望这很清楚。你可以帮我吗?非常感谢你!
嗨,谢谢你的回复。我想我应该提到我正在使用jQuery表单插件,我相信这些插件正在照顾所有的ajax调用。我会试着弄清楚如何去做。 – 2010-10-07 14:54:18