【问题标题】:RESTful nested conventional routingRESTful 嵌套常规路由
【发布时间】:2010-10-14 05:21:02
【问题描述】:

我有模型:

  • 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转入Transaction。

我似乎无法理解的是,第 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

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

您能否告知最传统的实现方式是什么?

谢谢,
Dmytrii。

【问题讨论】:

    标签: ruby-on-rails ruby rest inherited-resources


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 2014-12-12
      • 2020-07-18
      相关资源
      最近更新 更多