質問

私はモデルを持っています:

  • 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 安らかになると、1つのレコードを作成することが期待されています。しかし、コードは次のようなものであるはずです:

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

実装がTPに収まらないと感じているので、私はおそらく間違った角度からタスクにアプローチしています internited_resources.

これを実装する最も一般的な方法は何ですか?

ありがとう、
dmytrii。

役に立ちましたか?

解決

REST/HTTPには、投稿を行うと1つのレコードのみが作成されるとは期待していません。それはおそらくデフォルトのレールの動作ですが、そのためにデザインを制約しないでください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top