0

我一直在努力实现自己的 ORM。我想知道 rails path helper 如何从对象中提取 ID。例如,我将如何为我的 ORM 进行这项工作?

@contact = Contact.first
contact_path(@contact)

任何帮助将不胜感激!

更新:

我的对象确实有一个 ID 属性并对其做出响应。但是路径助手返回一个错误。

4

2 回答 2

1

简而言之,您希望符合 activemodel。这将使 url 助手、form_for(@contact) 等工作。

您还可以(可选地)使用一堆模块来处理诸如验证、脏属性等事情。

您必须实现的方法很少。还有一个 ActiveModel::Lint模块可以测试您对这些原语的实现是否有效,并且还可以用作文档。特别是您需要实现to_parampersisted?. 我认为一些命名的东西只有在你做类似的事情时才会被使用link_to 'foo', @contact

于 2012-11-18T08:42:04.890 回答
0

该方法检查您是否已将对象或整数传递给它。如果它是一个对象并且该对象有一个id方法 ( respond_to?(:id)),它使用它的 ID。非常简单。

于 2012-11-17T05:39:51.767 回答