RESTful和正确执行此操作的最佳方式:Ruby on Rails

时间:2010-01-28 09:15:28

标签: ruby-on-rails ruby rest

这可能很容易,但我有时会围绕这些事情绕过我的脑袋。

概要:我正在尝试制作一份技术人员经过的清单应用程序,并回答有关现场已完成或已完成的问题。技术人员然后提交此进行审查。这些问题由管理人员创建,管理和更新。

更新 我是设计师,所以我自然会对PS充满灵感。这是一张概念照:http://screensnapr.com/u/a9k1ps.png

核对表模型包含:标题子标题问题答案

除了答案字段外,所有字符串都是字符串,这是复选框的整数。

我不太确定在那之后开始使用哪个RESTful页面。我需要像这样显示的标题(在视图中),但可以在一个页面上通过复选框进行编辑/提交。

此视图必须同时显示核对表并编辑核对清单。经理需要能够添加新的标题,子标题和问题,然后技术人员才能回答。

<% @checklists.each do |checklist| %>
<h1> <%=h checklist.header %> </h1>
<h3> <%=h checklist.subheader %> </h3>
<ul>
   <li>
  <%=h checklist.question %>
  <% form_for @checklists do |f| %>
  <%= f.check_box("checklist", "answer") %>
  <% end %>
  </li>
</ul>
<% end %>

这是否有效,是否最好将其添加到索引或编辑操作中?某种程度上我会做得更好吗? nested_attributes?我现在有点迷失了,因为我试图在一个文件中管理两个动作(索引,编辑)。

2 个答案:

答案 0 :(得分:2)

如果您希望经理更新/修改复选框以及技术人员填写表格,您需要额外的几张桌子。一个包含问题,一个包含已检查的值。此外,最好将控制器分成两个,每个用户类型

对于管理器部分,您可以像任何其他控制器一样创建一个控制器:使用索引操作显示所有问题,使用编辑/更新/等操作来修改它们。

对于技术人员部分,您需要定义项目表,其中包含有关技术人员正在处理的项目的一些信息。还有一个包含project_id和checkbox_ids的复选框表,以便将复选框链接到某个项目。

有关在表之间创建关联的更多信息,请参阅A Guide to Active Record Associations

答案 1 :(得分:-1)

如果不进一步看待这个,我愿意打赌你想要 form_for checklist.question和POST到questions_controller,它将使用#update操作。