【发布时间】:2015-07-13 13:41:09
【问题描述】:
我有三个模型“输入”、“机制”和“输出”。
机制“has_one”:输入和“has_one”:输出。
我希望它使 Mechanism 对象具有 name 属性 “输入 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: undefined method `name' for nil:NilClass from app/models/mechanism.rb:12:in 'name_mechanism'
所以是的,我使用 Neo4j 作为数据库,但我怀疑这不是 neo4j 问题,而是我对 Rails 中的回调的理解不足。有什么建议吗?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 neo4j neo4j.rb