0

我有模型:

  • User -1---n- Transaction(amount,description, date)
  • User -1---n- TransactionImport -1---n- TransactonImportField(name,value)

(个人费用跟踪应用程序)。

我想要实现的是:

  1. 用户打开 URL 并粘贴带有交易列表的 CSV。
  2. 用户提交。
  3. 系统将 CSV 中的数据提取到TransactionImport(行)+ TransactionImportField(单元格)中。
  4. 用户可以从导入的数据中选择哪一列代表什么(金额、描述、日期)TransactionImport(Field)
  5. 用户点击保存,系统转入TransactionImportTransaction。

我似乎无法理解的是,第 3 步创建了多个TransactionImport(和相关的TransactionImportField)记录。

如果我们是 RESTful,那么这样做POST /transaction_imports?csv=abcd预计会产生一个记录。但是代码应该是这样的:

# TransactionImportsController
def create
  result = TransactionImports.parse(params[:csv])
  flash[:notice] = result.message
  redirect_to transaction_imports_path
end

我可能从错误的角度处理任务,因为我觉得实现不适合 tp the inherit_resources

你能告诉我最传统的实现方式是什么吗?

谢谢,
德米特里。

4

1 回答 1

1

REST/HTTP 不期望执行 POST 只会创建一条记录。这可能是默认的 rails 行为,但您不应因此限制您的设计。

于 2010-10-14T11:30:47.480 回答