将Textarea中的每一行写在一个文档中

时间:2013-08-25 18:34:23

标签: ruby-on-rails mongodb textarea mongoid nested-forms

我想要从textarea到mongodb数据库写多行:

  1. 第一行
  2. 第二行
  3. 第三行
  4. 每行应写在一个文档中。

    所以我首先想到我可能会使用gsub-function来分隔行,之后我可以用每个do-loop编写它们到数据库。

    这一点我卡住了。

    先谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

因此,如果您想在数据库中拆分行,那么会是这样的:

class Book
  field :lines, type: Array

  def text=(t)
    doc = []
    t.each_line { |l| dpc << l }
    self.lines = doc
  end
end

答案 1 :(得分:0)

如果您想要的是将每一行作为单个文档的子文档放置,那么Arthur的解决方案是正确的。

如果您真的想要多个文档,那么如果它使用rails,这可能是解决方案。

inputString=params["textareainput"]
lines=inputString.split("\n")
lines.each do |l|
    Book.create(:content => l)
end

代码放在控制器中(如果你使用MVC,可能在Rails框架中)