توجيه تقليدي متداخل مريح
-
30-09-2019 - |
سؤال
لدي النموذج:
User -1---n- Transaction(amount,description, date)
User -1---n- TransactionImport -1---n- TransactonImportField(name,value)
(تطبيق تتبع النفقات الشخصية).
ما أريد تحقيقه هو:
- يفتح المستخدم عنوان URL ويصرخ CSV مع قائمة المعاملات.
- يقدم المستخدم ذلك.
- يقوم النظام باستخراج البيانات من CSV إلى
TransactionImport
(صف) +TransactionImportField
(زنزانة). - يمكن للمستخدم اختيار العمود الذي يعني ما (المبلغ ، الوصف ، التاريخ) من البيانات المستوردة في
TransactionImport(Field)
. - المستخدم انقر فوق حفظ ونقل النظام
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 وراثي _resources.
هل يمكن أن تنصح ما هي الطريقة الأكثر تقليدية لتنفيذ هذا؟
شكرًا،
Dmytrii.
المحلول
لا يتوقع REST/HTTP أي توقع أن تنشر POST سيخلق سجلًا واحدًا فقط. ربما يكون سلوك القضبان الافتراضي ، لكن يجب ألا تقيد التصميم الخاص بك بسبب ذلك.
لا تنتمي إلى StackOverflow