Rails如何构建一个不特定于模型中一个记录的表单

时间:2011-03-05 22:49:45

标签: ruby-on-rails ruby-on-rails-3

在我的添加中,我有一个Permission模型(user_id,role_id,project_id)。

我现在要做的是构建CSV导入,用户输入一长串CSV电子邮件数据,然后应用程序解析以查找所有有效的电子邮件,然后创建权限。

所以在我的权限控制器中我创建了:

def csv_import

但在我看来,我不确定如何构建表单?如何使用textarea字段构建表单?它应该在哪里发布?

感谢您的建议

1 个答案:

答案 0 :(得分:0)

多条目CSV文件的POST不适合标准REST API。您已经定义了控制器操作csv_import,因此请将POST映射到您映射该操作的任何路径。

由于您并未实际发布直接映射到表列的字段值,因此您可能希望获取CSV数据并手动解析。

使用标准ActionView帮助程序:form_tag作为表单,text_area_tag作为文本区域。将它们命名为您想要的任何内容 - csv_form,也许csv_data。然后遍历CSV数据的每一行,即

params['csv_data'].each_line do |line|
  data = line.split(',')
  ...
end