使用Rails form_for建模Mongodb数组

时间:2013-10-21 18:21:51

标签: ruby-on-rails ruby mongoid

我正在开发一个包含标签的项目模型的应用程序。该模型大致如下:

class Project
  include Mongoid::Document

  field :name, type: String
  field :tags, type: Array
  ...
  ...
end

我正在尝试找出创建/编辑项目的最佳方法,该项目允许用户添加多个标签。如果可能的话,我想使用rails内置的form_for方法。

我遇到的问题是我不确定如何让用户能够添加多个标签。

一个想法是使用字符串字段,然后在创建/更新项目之前,我可以将字符串拆分为逗号或空格。我还可以轻松地创建一个文本区域并拆分换行符。

但是,我宁愿让用户通过在字段中键入值来添加标记,然后单击加号以将其附加到标记数组。我可以使用javascript轻松完成此操作,但我想知道是否存在解决方案,无论是通过另一个gem还是使用现有的rails方法,这不需要我为表单编写自定义javascript?

任何帮助或指示都将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

要生成带有参数的数组,可以通过定义“[]”来完成。所以你可以这样做:

text_field_tag "project[tags][]"