【发布时间】:2018-12-19 05:24:04
【问题描述】:
我正在使用 Rails 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 将缓解这种情况。这真的是最好的选择吗?还是有更好/更优雅的方式?
【问题讨论】:
标签: ruby-on-rails ruby variables activerecord rails-activerecord