我正在使用Ruby on Rails 3并且我遵循了Tableless models in Rails个结构,以便将其应用到我的模型帐户。
一切正常,但如果我这样做
@test = account.id
@test
的调试会产生 nil 值,而且根本无法访问。
在this question的评论中@Wukerplank说:
You are right. I suppose id has a special status in ActiveRecord. I think it would only be set after the record is persisted in some database.
如何重新访问\访问id属性值?
已更新
尝试并重新尝试我发现一个可能的解决方案是使所有属性'attr_accessible'(如果我只是'id',我得到所有其他值'nil'),但我认为这是非常危险的溶液
另一个解决方案是创建一个充当id
的新类属性,但是如果我已经拥有了id,为什么还要这样做?!