Więc widziałem wiele dyskusji na temat SO na temat używania erb w plikach CSS. Mogę poprosić ERB o przetwarzanie plików CSS za pomocą składni <% =%> i dodanie pliku .erb do pliku, ale naprawdę potrzebuję dostępu do zmiennych instancji w kontrolerze.Uzyskiwanie dostępu do zmiennych instancji kontrolera Rails w CSS
searches_controller.rb
def new
@search = Search.new
@school = School.find(params[:school])
end
Co naprawdę chciałbym zrobić to:
searches.css.scss.erb
h1.logo {
color: <%= @school.primary_color %>;
}
ale ERB wygeneruje błąd, ponieważ @school jest zerowy. Czy jest jakiś sposób, aby wymagać od kontrolera dostępu do tych zmiennych instancji?
Jedyny inny sposób, w jaki mogę to zrobić, to osadzić go jako atrybut danych w widokach, a następnie użyć JS, aby zmienić go na interfejsie użytkownika. Wydaje mi się to potencjalnie lepsze, ponieważ plik CSS nie zmieni się i będzie musiał być ponownie za każdym razem, ale będzie również o wiele mniej elegancki.
Dzięki. Miałem nadzieję, że poradzę sobie z tym poza poglądami, ale wydaje mi się, że to jest właśnie droga. – rurabe
Czy możesz podać więcej szczegółów na temat dodawania bloku css do układu ...? Chciałbym zamienić obrazy na podstawie rozmiaru ekranu i potrzebuję sposobu, aby moje zapytania o media wyświetlały moje zmienne instancji. – brntsllvn