#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