访问Tableless模型的id值时出现问题
我正在使用Ruby on Rails 3,我在Rails结构中遵循Tableless 模型 ,以便将其应用于我的模型帐户。
一切都有效,但如果我这样做的话
@test = account.id
@test
的调试导致零值,似乎根本无法访问。
在这个问题的评论中@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
,为什么还要这样做?!
为什么不使用ActiveModel? 检查此截屏video。