Я использую рельсы 4.2
У меня есть два вызова БД, которые должны существовать ИЛИ оба не существуют, поэтому для этого я использую транзакции внутри метода.Я также хочу, чтобы создаваемая мной переменная была доступна другим местам того же метода.Мне просто нужно использовать переменную экземпляра вместо локальной переменной?(для этого я использую puts
в качестве примера другого кода, код, который я планирую выполнить, гораздо сложнее).
def method_name
ActiveRecord::Base.transaction do
record = another_method(1)
another_method(record)
end
puts record.id
end
Если я запускаю этот код, он выдает следующее:
undefined local variable or method `record' for #<Class:...>
, но изменение record
на @record
облегчит это.Это действительно лучший вариант?Или есть лучший / более элегантный способ?