2013-02-23 69 views
0

我正在閱讀Tire gem的文檔,我對以下段落的含義感到困惑。有人可以解釋嗎?代理真正的輪胎方法?

事實上,這段時間你一直在使用僅代理到真正的輪胎 方法,它生活在你 型號的輪胎類和實例方法。只有當不要踐踏某人的腳 - 這是大多數情況下的 - 輪胎纔會將其方法帶到您的課程名稱空間 。

因此,而不是寫Article.search,你可以寫 Article.tire.search,並代替@article.update_index你可以 寫@article.tire.update_index,是在安全方面。讓我們 外觀上的例子與映射方法:

回答

1

這意味着正是這樣說的:輪胎力圖不拖累方法到模型/名稱空間,只有當它們不存在定義它的方法。

作爲一個普通用戶,你不必關心它太多。無論何時您致電MyModel.searchMyModel.mapping,您也可以致電MyModel.tire.searchMyModel.tire.mapping

0

爲了捎帶Karmi說過的話,如果你的模型已經有了搜索定義,你可能會覺得這很有用。

所以,如果說,Post.search已做了你的Rails應用程序,你可以只使用Post.tire.search做輪胎搜索代替。我喜歡用它來向所有可能在代碼中工作的開發者發信號,這是一種輪胎方法,所以他們(希望)不會花時間想知道在哪裏可以找到搜索方法Post模型。