当我在本地运行它时,我在rails应用程序中收到以下错误:
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'
我已经在heroku上部署了应用程序,没有任何问题。我最近从rails3更新到rails 4后出现此问题。
不使用帮助程序,而是手动添加标记:
%link{href: "/assets/application.css", media: "screen", rel: "stylesheet"}/
%script{src: "/assets/application.js"}
答案 0 :(得分:21)
我假设您正在使用链轮2.12.0,如果是这种情况,请根据https://github.com/sstephenson/sprockets/issues/540将其降级到2.11.0
答案 1 :(得分:4)
我发现更新的宝石,在其指示中将 application.css 更改为 application.css.scss ,将无法识别“应用程序”作为stylesheet_link_tag的scss文件的参数。你需要改变:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
到此:
<%= stylesheet_link_tag 'application.css.scss', media: 'all', 'data-turbolinks-track' => true %>
这将允许您使用最新的宝石。