我有模型:

  • 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. 用户单击保存和系统传输 TransactionImport 进入交易。

我似乎无法正确正确的事实是,步骤3创建了多个记录 TransactionImport (和相关 TransactionImportField).

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

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

我可能正在从错误的角度接近任务,因为我觉得实现不适合TP senasited_resources.

您能否建议最常规的实施方式?

谢谢,
dmytrii。

有帮助吗?

解决方案

REST/HTTP没有期望进行帖子只会创建一个记录。也许是默认的导轨行为,但您不应因此而限制您的设计。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top