我有三个模型“输入”、“机制”和“输出”。
机制“has_one”:输入和“has_one”:输出。
我希望它使 Mechanism 对象具有名称属性“输入 X 对输出 Y 的影响”。
这是我尝试过的:
class Mechanism
include Neo4j::ActiveNode
property :name, default: 'NewMechanism#{self.class.count}'
has_one :in, :input, class_name: 'Input'
has_one :out, :output, class_name: 'Output'
after_create :name_mechanism
def name_mechanism
self.update_attributes(name: "Effect of #{self.input.name} on #{self.output.name}")
end
end
但是当我在控制台中初始化一个对象时,我得到了错误
NoMethodError:nil 的未定义方法“名称”:来自 app/models/mechanism.rb:12 的 NilClass:in 'name_mechanism'
所以是的,我使用 Neo4j 作为数据库,但我怀疑这不是 neo4j 问题,而是我对 Rails 中的回调的理解薄弱。有什么建议吗?