Rails安装了发动机负载路径

时间:2011-11-11 19:39:53

标签: ruby-on-rails ruby-on-rails-3 path partial-views rails-engines

我有以下方法加载一组生成帮助器的部分:

Dir.new(File.join(Rails.root,"app","views", path)).each do |partial|
      concat(render :partial => File.join("/" + path, partial.sub(/^_/, "")))
      if partial.starts_with?('_')
      end
      ""
end

当我加载edit.html.erb时,我会包含帮助器,因为您希望加载我的所有部分:

<% render_all_in_path "shared/setting_editors" -%>

当我挂载引擎时,我能够按照您的预期扩展我的控制器,但是当我在引擎_partial.html.erb文件夹中包含views/shared/setting_editors时,我的帮助方法似乎不起作用。

我如何改进上面的帮助方法,以便在我的Rails应用程序中加载我在挂载的引擎中包含的_partial.html.erb文件?

1 个答案:

答案 0 :(得分:0)

Dir.glob( File.join( Rails.root, "app", "views", "**", "_*" ) ).each do |partial|
  # this will iterate over all the partials in the app/views/ subdirectories
end