Ruby on rails 将用户输入另存为Rails中数据库中的xml文件

Ruby on rails 将用户输入另存为Rails中数据库中的xml文件,ruby-on-rails,database,file,save,paperclip,Ruby On Rails,Database,File,Save,Paperclip,我在“流”模型上有一个form_标记,它接受用户输入,如下所示: <%= form_tag('/generate_xml', :method=>'post') do %> <p> Content:<br /> <%= text_field_tag "content" %> </p> <p> <%= submit_tag 'Submit' %> </p> <% end

我在“流”模型上有一个form_标记,它接受用户输入,如下所示:

<%= form_tag('/generate_xml', :method=>'post') do %>
 <p>
 Content:<br />
   <%= text_field_tag "content" %>
 </p>
 <p>
   <%= submit_tag 'Submit' %>
 </p>
<% end %>

虽然我可以生成一个文件dir.xml,但我不希望将此文件存储在本地,而是直接存储在数据库中。我如何才能做到这一点?到目前为止,我已经尝试使用曲别针在“流”模型(我想在其中存储xml文件)中生成与文件相关的列,但我一直在思考如何动态生成文件并将其保存到数据库。

您可以将xml内容存储为字符串

因此,执行rails迁移以将字符串列添加到表中

rails g model UserContent xml:string
然后将其作为字符串存储在其中:

uc = UserContent.create(:xml => builder.to_xml)

为什么不将它存储在数据库表的一个字段中?@ipd:您的意思是将xml存储为字符串?因为Rails没有文件ActiveRecord datatypeYes,为什么不呢?请看下面的答案。谢谢。对你答案的更正。应该创建模型的实例,即
@usercontent=usercontent.new
,并且不能直接在模型本身上调用属性。doh。我写这篇文章的时候一定是分心了,用更好的方式重写了。
uc = UserContent.create(:xml => builder.to_xml)