rails如何确定对象的路径?

时间:2012-11-17 05:25:15

标签: ruby ruby-on-rails-3

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

@contact = Contact.first
contact_path(@contact)

非常感谢任何帮助!

更新

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

2 个答案:

答案 0 :(得分:1)

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

你也可以(可选)使用一堆处理的模块 验证,脏属性等等。

您必须实施少数几种方法。还有一个 ActiveModel::Lint模块,用于测试您的这些实现 原语是有效的,也可以作为文档。您需要实施to_parampersisted?。我认为只有link_to 'foo', @contact

之类的东西才会使用某些命名内容

答案 1 :(得分:0)

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