Пути загрузки двигателя, установленные на рельсах

#ruby-on-rails #ruby-on-rails-3 #path #partial-views #rails-engines

#ruby-on-rails #ruby-on-rails-3 #путь #частичные просмотры #рельсы-двигатели

Вопрос:

У меня есть следующий метод, который загружает набор частичных элементов, который находится во вспомогательном:

 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 в папку engines views/shared/setting_editors .

Как я мог бы улучшить вышеупомянутый вспомогательный метод, чтобы _partial.html.erb файлы, которые я включаю в смонтированный движок, загружались в мое приложение Rails?

Комментарии:

1. Это какой-то странный код. Вы визуализируете и объединяете все части из каталога? Почему бы не иметь partial, который приводит их в порядок?

Ответ №1:

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