Rails/ActiveRecord: сохраните изменения в наборы, связанные с моделью

Вы можете сохранить все типы входных аргументов (даже если их больше), используя кортежи в параметрах rest:

const example = (alpha: string): string => alpha + 'beta';
const wrappedFn = <A extends any[], R>(fn: (...args: A) => R) => (...args: A): R => {
    console.log("executing");
    return fn(...args);   
};

wrappedFn(example)("a")
7
задан rampion 15 May 2009 в 17:15
поделиться

3 ответа

просто выполните Rental.dvd.save после увеличения значения или, в приведенном выше случае, вы можете использовать

rental.dvd.increment!(:copies)

, который также автоматически сохранится, обратите внимание на '!' при увеличении!

2
ответ дан 6 December 2019 в 06:25
поделиться

Вы должны сделать это сами. Active Record не выполняет каскадные операции сохранения в отношениях has_many после первоначального сохранения.

Вы можете автоматизировать процесс с помощью обратного вызова before_save .

1
ответ дан 6 December 2019 в 06:25
поделиться

Вы должны сделать это сами

Это не совсем так. Вы можете использовать метод "build", который приведет к сохранению. В качестве примера предположим, что у вас есть модель компании и сотрудники (Company has_many Employees). Вы можете сделать что-то вроде:

acme = Company.new({:name => "Acme, Inc"})
acme.employees.build({:first_name => "John"})
acme.employees.build({:first_name => "Mary"})
acme.employees.build({:first_name => "Sue"})
acme.save

Создает все 4 записи, запись о компании и 3 записи о сотрудниках, а идентификатор company_id будет перенесен в объект Employee соответствующим образом.

2
ответ дан 6 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: