У меня есть два разных макета и два разных стиля (по одному для каждого), используемые одним контроллером / действием.
Как я могу предотвратить следующую ошибку?
строка # 5повышено: app/assets/stylesheets/application.css has already been required
app / views / layouts / application.html.erb
2: <html>
3: <head>
4: <title>Blog</title>
5: <%= stylesheet_link_tag "application" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %>
8: </head>
Та же ошибка возникает при загрузке другого макета, но "application"
затем "another_stylesheet_file_in_the_same_folder"
.
Что я не понимаю, так это то, почему файл application.css удалось загрузить, в то время как во втором макете есть другая строка <%= stylesheet_link_tag "another_css_file" %>
.
Может быть, причина в конвейере ресурсов, который загружает обе эти таблицы стилей?Или это просто проблема наследования?
posts_controller.rb
class PostsController < ApplicationController
layout :choose_layout
def choose_layout
current_uri = request.env['PATH_INFO']
if current_uri.include?('diashow')
@diashow = true
return 'diashow'
else
@diashow = false
return 'application'
end
end
...
Загружен ли макет приложения до выполнения этого кода?
Есть ли способрешить эту проблему с помощью before_filter
?Или это просто глупо, что я пытаюсь сделать?:)
РЕДАКТИРОВАТЬ:
Консоль Rails:
Rendered posts/index.html.erb within layouts/application (10.4ms)
Compiled application.css (2ms) (pid 23453)
Compiled diashow.css (1ms) (pid 23453)
Completed 500 Internal Server Error in 348ms
Почему он загружает оба этих файла?Он должен загрузить только один из них.