我對動態添加方法到我的Ruby類的模塊有很多樂趣。Rails - 沒有包含的模塊
我使用include語法將它們帶入我的類,並且所有內容都按預期工作。
但是,我注意到,當我使用諸如Authlogic或Paperclip等寶石時,不需要顯式導入。我可以簡單地在我的ActiveRecord派生模型上發出acts_as_authentic或has_attached_file,並且類方法自動處於範圍內並被調用來修飾我的類。
這是怎麼回事?是否包含在Gemfile中將所有類方法隱式地放在範圍內?
我想寫一個Gem以相同的方式表現。
編輯 - 此帖子http://yehudakatz.com/2009/11/12/better-ruby-idioms/表明ActiveRecord :: Base正在使用include進行增強。這是怎麼回事?
該代碼需要加載回形針庫,我敢肯定它只需要包含在gemfile中,以便在MVC中使用回形針方法。 – holaSenor
正如我在答案中所寫的,您不需要手動執行此操作。當你需要寶石時,這是爲你完成的。用戶要求解釋發生了什麼,這是答案。 –