我一直在努力實現我自己的ORM。我想知道軌道助手如何從對象中提取ID。例如,我將如何爲我的ORM做這項工作?軌道如何確定從一個對象的路徑?
@contact = Contact.first
contact_path(@contact)
任何幫助將不勝感激!
更新:
我的目標確實有一個ID屬性,並對其作出響應。但路徑助手返回錯誤。
我一直在努力實現我自己的ORM。我想知道軌道助手如何從對象中提取ID。例如,我將如何爲我的ORM做這項工作?軌道如何確定從一個對象的路徑?
@contact = Contact.first
contact_path(@contact)
任何幫助將不勝感激!
更新:
我的目標確實有一個ID屬性,並對其作出響應。但路徑助手返回錯誤。
該方法檢查是否已經傳遞了一個對象或整數。如果它是一個對象並且該對象有一個id
方法(respond_to?(:id)
),則它使用其ID。漂亮簡單。
我以爲是那麼簡單。我的對象確實會響應ID,但在嘗試使用路徑幫助器時仍然出現錯誤。 –
簡而言之,您希望成爲主動模型兼容。這將使url helper,form_for(@contact)等工作。
你也可以在(可選)使用一束處理 東西的模塊,如驗證,髒屬性等
目前只有你必須實現的方法了一把。還有一個 ActiveModel::Lint模塊,用於測試您的這些基元的實現是否有效,哪些也可用作文檔。特別是您需要實施to_param
和persisted?
。我認爲一些命名的東西只會被使用,如果你做的東西像link_to 'foo', @contact
這有更多的軌道路線比ORM。 – nicooga