表单设计:如何最好地显示/添加不同的状态?

时间:2015-10-09 15:08:13

标签: ruby-on-rails forms

我正在使用rails表格。从本质上讲,一个人可以拥有多种状态,并在不同的状态之间切换。在数据库表中,显示简单如下:

status start_date end_date
work   1/1/15     1/10/15
sick   1/11/15    2/15/15
work   2/16/15    3/15/15
sick   1/15/15    1/14/15

我需要提示用户输入这些信息。我创建了一个属于人类的状态类。基本上,这些字段将是嵌套表单的一部分。 我的问题是:如何动态显示这些信息,使表格更加优雅和干净?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果我了解您的域名,那么Person有很多Status,对吧?

最简单的方法是使用gem cocoon。您的视图将如下所示:

<%= form_for @person do |person_form| %>
  <%= person_form.input :name %>

   <%= person_form.fields_for :statuses do |status_form| %>
     <%= status_form.field :start_date, :end_date %>

     <!-- cocoon's method to dynamically add nested forms -->
     <%= link_to_add_association 'add status', person_form, :statuses
   <% end %>
<% end %>