我一直在研究我的第一個Rails 3插件,以打包一個簡單的幫助函數,我喜歡在我的所有應用程序的ApplicationHelper
中使用這個函數。你可以看到整個代碼on Github。創建一個簡單的Rails 3文本幫手Gem
這是我第一次嘗試:
## lib/semantic_id.rb ##
require 'semantic_id/version'
module ::ActionView::Helpers::TextHelper
def semantic_id
string = String.new
case
when controller.action_name =~ /new|edit/
string += controller.action_name + "_"
when controller.action_name =~ /index|create/
string += controller.controller_name
else
string += controller.controller_name.singularize
end
string += "_view"
end
end
現在,這個工作,但據我所知,這是延長的ActiveSupport或任何其他的Rails模塊的不是「Rails 3的道路」。我一直無法找到關於如何「構建」構建Rails 3 Gem的文檔。我嘗試了下Rails指南,但是添加助手的方法不起作用,否則我錯過了一些東西。
我的問題是:給出上面的代碼作爲我正在尋找的功能的一個例子,你會如何將它變成一個Rails 3插件寶石?
謝謝!
你應該嘗試使用珠寶商寶石創建你的寶石:) – corroded
關於給出的答案,我被撕裂,因爲我依靠兩者來解決這個問題。 Alex的代碼讓我接近了,但我仍然很難弄清楚如何使它加載到應用程序中,直到Noli將他的鏈接發佈到更好的示例如何將railtie放在一起。所以最終,Alex的回答讓我開始了,而Noli的幫助我完成了。在這種情況下,我必須和諾利一起去,因爲他的聯繫最終會產生變化。謝謝你們的體貼回答! – Andrew