0

我有一个应用程序,用户可以在其中创建一个提交到数据库的项目。

<div class="project_name">
    Project Name:
    <%= f.text_field :project_name,:maxlength => 30 %>
  </div>

<%= label_tag :new_client, "Client:" %><br/>
<%= text_field_tag :new_client, nil, :maxlength => 30%>
Or
<%= f.select( :new_client, Project.all.map {|p| [p.new_client]}.uniq, :prompt => "Select an new_client") %>
</div> 

在这里,他们可以选择提交新项目名称的文本,然后可以选择现有客户或输入新客户,该客户将存储在数据库中,稍后将在下拉菜单中提供下一个项目创建。

我正在尝试添加第三个选项,让他们可以选择一个行业。然而,这一次,用户可以为一个项目选择多个行业。解决此问题的最佳方法是什么?

我正在考虑在另一个表中预先填充所有最常见行业的下拉列表,如果用户想要另一个,他们可以单击一个按钮以显示另一个下拉列表。如果该行业不存在,则可以在文本字段中输入一个,该字段将与该项目条目一起保存,并保存到新的行业表中,然后可供下一个用户使用。

希望有人能指出我正确的方向。我是 Rails 新手,所以放轻松。

4

1 回答 1

1

您应该查看此视频http://railscasts.com/episodes/196-nested-model-form-part-1 对于这种情况,我使用 recordselect gem 选择现有对象,然后使用 jquery 模板添加对象到现在的形式。但是你必须做一些js的东西才能做到这一点。相反,我认为您也可以使用带有 :multiple => true 选项的简单下拉菜单来选择多个对象。做到这一点的最好方法不是很简单......但我认为你应该从 rails casts 复杂的表单示例开始,以弄清楚你可以用嵌套表单做什么。

于 2012-09-26T10:10:02.137 回答