2012-11-17 22 views
0

我一直在努力實現我自己的ORM。我想知道軌道助手如何從對象中提取ID。例如,我將如何爲我的ORM做這項工作?軌道如何確定從一個對象的路徑?

@contact = Contact.first 
contact_path(@contact) 

任何幫助將不勝感激!

更新:

我的目標確實有一個ID屬性,並對其作出響應。但路徑助手返回錯誤。

+1

這有更多的軌道路線比ORM。 – nicooga

回答

0

該方法檢查是否已經傳遞了一個對象或整數。如果它是一個對象並且該對象有一個id方法(respond_to?(:id)),則它使用其ID。漂亮簡單。

+0

我以爲是那麼簡單。我的對象確實會響應ID,但在嘗試使用路徑幫助器時仍然出現錯誤。 –

1

簡而言之,您希望成爲主動模型兼容。這將使url helper,form_for(@contact)等工作。

你也可以在(可選)使用一束處理 東西的模塊,如驗證,髒屬性等

目前只有你必須實現的方法了一把。還有一個 ActiveModel::Lint模塊,用於測試您的這些基元的實現是否有效,哪些也可用作文檔。特別是您需要實施to_parampersisted?。我認爲一些命名的東西只會被使用,如果你做的東西像link_to 'foo', @contact

相關問題