2014-04-28 8 views
18

otrzymuję następujący błąd w moich szynach app gdy uruchamiam go lokalnie:szyny 4 - niewłaściwa liczba argumentów (2 za 1) - stylesheet_link_tag i javascript_include_tag

ActionView::Template::Error (wrong number of arguments (2 for 1)): 
    8:   %link{href: "/assets/favico.png", rel: "icon"}/ 
    9:   %link{href: "https://fonts.googleapis.com/css?family=Open+Sans:400,700", rel: "stylesheet", type: "text/css"}/ 
    10:   = stylesheet_link_tag "application", :media => "all" 
    11:   = javascript_include_tag "application" 
    12:   = csrf_meta_tags 
    13:   = yield(:head) 
    app/views/layouts/application.html.haml:10:in `_app_views_layouts_application_html_haml___410024948890833714_70223805533300' 

I wdrożyli aplikację na Heroku i nie ma problemów. Ten problem wystąpił niedawno po I aktualizowana rails3 do szyn 4.

zamiast używania pomocników, dodając znaczniki ręcznie działa:

%link{href: "/assets/application.css", media: "screen", rel: "stylesheet"}/ 
%script{src: "/assets/application.js"} 
+0

Zgodnie z tym http://stackoverflow.com/a/21834563473023131, może to być coś, co powoduje to w twoich plikach scss, ponieważ stało się tak po uaktualnieniu od 3 do 4. – Iceman

+1

dzięki za sugestię. Próbowałem pusty plik application.css i nadal otrzymuję ten sam błąd. –

Odpowiedz

21

Jestem zakładając używasz zębatek 2.12.0, jeśli to przypadek, obniżyć ją do 2.11.0 zgodnie https://github.com/sstephenson/sprockets/issues/540

+0

dzięki za link! kombinacja następujących pracowała dla mnie: gem 'sass-rails', '4.0.2' i gem 'sprockets', '2.11.0' –

+0

Otrzymuję to po aktualizacji do Rails 4.0.9. Mam zębatki 2.11.0 i sass-rails 4.0.3. – cman77

+9

Okazuje się, że był to klejnot https://github.com/schneems/sprockets_better_errors. Obsługuje tylko Rails 4.0.5. – cman77

4

Odkryłam, że zaktualizowane perełki, które mają w swoich instrukcjach zmienić application.css do application.css.scss, nie rozpozna "application" jako parametr dla scss plik dla stylesheet_link_tag. Trzeba zmienić:

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 

do tego:

<%= stylesheet_link_tag 'application.css.scss', media: 'all', 'data-turbolinks-track' => true %> 

To pozwoli Ci pracować z najnowszymi perełki.

+2

To rozwiązanie szuka 'application.css.sass.css' w moim przypadku. Testowane z Railsami 4.2 – Ivan

+0

Pojawia się, aby złamać 'Started GET"/javascripts/application.css.scss.js' ... 'ActionController :: RoutingError (Brak trasy dopasowuje [GET]" /javascripts/application.css.scss.js ") '.Rails 4.2. – brntsllvn

+0

Brent Dla JavaScript to byłaby po prostu pełna nazwa twojego pliku JavaScript.Nie twój plik arkusza stylów –

Powiązane problemy