Я как бы сомневаюсь, что это возможно, но я решил, что попытаюсь посмотреть, сможет ли сообщество помочь мне придумать решение.Concat Integer & String, чтобы сформировать метод
В моем приложении пользователи могут создавать счет-фактуру, и я пытаюсь разрешить им создавать повторяющиеся счета-фактуры из формы, чтобы они могли выбирать число, интервал (год, месяц, день), а оттуда я иметь возможность получить интервал.
В идеале было бы сформировать что-то вроде этого: 1.year.from_now
, который дал бы мне дату, чтобы отправить следующий счет-фактуру. Это встроенный помощник rails, который я хотел бы сформировать, используя информацию из моей базы данных.
Итак, на Invoice.create Я проверяю, является ли это повторяющимся счетом, который будет превращен в шаблон (Recurringinvoice), и если он это я создаю его:
Recurringinvoice.create(customer_id: @customer.id, company_id: @company.id,
invoice_number: @invoice.invoice_number, private_notes: @invoice.private_notes,
customer_notes: @invoice.customer_notes, payment_terms: @invoice.payment_terms,
status: "unpaid", discount: @invoice.discount, po_number: @invoice.po_number,
interval: @invoice.interval,
invoice_interval_number: @invoice.invoice_interval_number)
То, что я хотел бы сделать: @ invoice.invoice_interval_number + "" + @ Invoice.interval + «.from_now»
Это дало бы мне 1.year.from_now или 2.days.from_now и т.д.
Есть в любом случае я могу сделать это случиться? Есть ли лучшее решение, о котором я не думаю?
Красивая. Он отлично работает, и я никогда об этом не знал. –
Это часть возможностей метапрограммирования Ruby. Что удивительно :) – Caillou