0

私は独自の ORM の実装に取り​​組んできました。そして、Rails パス ヘルパーがどのようにオブジェクトから ID を抽出するのか疑問に思っていました。たとえば、ORM でこれを機能させるにはどうすればよいでしょうか。

@contact = Contact.first
contact_path(@contact)

どんな助けでも大歓迎です!

アップデート:

私のオブジェクトには ID 属性があり、それに応答します。それでも、パス ヘルパーはエラーを返します。

4

2 に答える 2

1

一言で言えば、アクティブモデルに準拠したいということです。これにより、url ヘルパー、form_for(@contact) などが機能します。

また、(オプションで) バリデーションやダーティ属性などを扱う一連のモジュールを使用することもできます。

実装する必要があるメソッドはほんの一握りです。これらのプリミティブの実装が有効であることをテストする ActiveModel::Lintモジュールもあり、ドキュメントとしても機能します。特に、 と を実装する必要がありto_paramますpersisted?。ネーミングのいくつかは、次のようなことをした場合にのみ使用されると思いますlink_to 'foo', @contact

于 2012-11-18T08:42:04.890 に答える
0

このメソッドは、オブジェクトまたは整数を渡したかどうかを確認します。それがオブジェクトで、そのオブジェクトにidメソッド ( respond_to?(:id)) がある場合、その ID を使用します。かなりシンプル。

于 2012-11-17T05:39:51.767 に答える