Rails:单个视图中的多个REST操作('new'和'index')

时间:2014-11-26 17:21:32

标签: ruby-on-rails ruby view

我是Ruby on Rails的初学者,受到看似简单的任务的困扰;我还没有找到符合我目标的答案,所以我在这里。

我正在处理的页面是针对日记帐分录的。'此页面上有两个部分:左半部分是用于创建新期刊帖子的表单,右半部分是用户编写的所有帖子的列表。在Rails中,我使用' JournalEntriesController'设置了一个脚手架。和相关的观点。创建的RESTful路由按预期工作:我可以转到 localhost:3000 / journal_entries / new 以及用于创建新日记帐分录的表单,我可以转到 localhost:3000 / journal_entries 以查看已创建的所有日记帐分录。而不是转到这两个单独的页面,如何将两个动作并排放在同一页面上?

沿着同样的路线:如果我想要一个页面有四个部分,用户可以创建,读取,更新和销毁,我将如何进行此操作?

我有一些关于如何做到这一点的理论,但看到我对Rails很陌生,我不确定我是否会将它们混在一起。任何见解都表示赞赏。

2 个答案:

答案 0 :(得分:0)

我相信你会被脚手架弄糊涂。

首先,确保您了解GET操作和POST操作之间的区别。前者应该只显示信息(除日志文件等附带信息外);后者可以更改信息,但将重定向重定向到GET操作以防止刷新垃圾邮件是一种很好的形式。 (假设你没有做AJAX PUT / DELETE /...)

因此,您需要一个GET页面,该页面会显示一个包含提交到.../new的表单的视图,以及一个可以引导您.../edit的列表。从本质上讲,只需执行.../(列表)操作并为其添加.../new表单,就这么简单。

答案 1 :(得分:0)

很多都取决于您设置应用的方式。但是您可以控制放在视图中的内容。听起来你只需要在一个视图中放置POST动作来完成你提到的所有事情。

例如。在索引页面(通常是对象列表)上,您可以执行以下操作: CREATE:添加一个链接,打开一个表单,用于添加发布到journal_entries #create的表单 READ:将每个列表项链接到journal_entries#show以获取相应的对象 更新:添加一个链接到每个列表项,打开一个将发布到journal_entries#update的表单 DESTROY:添加一个链接到发布到journal_entries#destroy

的每个列表项