我有一组经常使用的 Rails 视图助手,并且想将它们打包成一个 gem,这样我就可以在 Gemfile 中添加一行,并从我的视图中访问这些助手。
我在使用 Bundler 和 Jeweler 之前已经创建了 gem,但是,我不太清楚如何在 gem 中组织 Rails 视图助手,并将它们包含到 Rails 中。
如果您能提供有关如何针对 Rails 3 执行此操作的任何指示或最新教程的链接,我将不胜感激
Thanks
只是为了澄清:问题不在于“如何创建宝石”。它是“如何将视图助手打包在 gem 中,以便我可以在 Rails 中使用它们”
编辑2:
我也同意下面的海报。对于这种(希望很简单)的要求,Rails 引擎实在是太过分了。
在我看来,一个完整的Engine https://stackoverflow.com/questions/5791211/how-do-i-extract-rails-view-helpers-into-a-gem/5795563#5795563对于这项任务来说是多余的。你可以只创建一个Railtie http://edgeapi.rubyonrails.org/classes/Rails/Railtie.html它在初始化时将您的助手包含到 ActionView::Base 中。
# lib/my_gem/view_helpers.rb
module MyGem
module ViewHelpers
def pre(text)
content_tag :pre, text
end
def another_helper
# super secret stuff
end
end
end
# lib/my_gem/railtie.rb
require 'my_gem/view_helpers'
module MyGem
class Railtie < Rails::Railtie
initializer "my_gem.view_helpers" do
ActiveSupport.on_load(:action_view) { include MyGem::ViewHelpers }
end
end
end
# lib/my_gem.rb
require 'my_gem/railtie' if defined?(Rails)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)