【问题标题】:Specify a style sheet in Ruby on Rails在 Ruby on Rails 中指定样式表
【发布时间】:2015-08-14 09:17:38
【问题描述】:

我在我的应用程序上安装了 Bootstrap gem,但是我想为我的登录页面包含一个特殊的样式表。我如何包含这个样式表而不使样式表对所有视图都是全局的(这就是发生在我身上的事情。)

【问题讨论】:

    标签: html css ruby-on-rails twitter-bootstrap


    【解决方案1】:

    1) 在呈现登录页面的控制器方法中,在方法末尾添加以下行:

    render :layout => false
    

    假设您需要 100% 自定义布局和样式表,该代码将阻止 application.html.erb 布局应用于登录页面。如果您对应用的全局布局(页面结构,包括任何页眉或页脚部分等)感到满意,请忽略此步骤。

    2) 在您的 login.html.erb(或任何包含您的视图的文件)中,您需要以下行来指向您的特定 css 文件:

    <%= stylesheet_link_tag 'foo', media: 'print, screen' %>
    

    其中foo 指向包含在您的app/assets/stylesheets 目录中的foo.css 文件。如果您不想区分样式表媒体版本,可以跳过 media 位,但如果用户尝试打印页面,或者您使用的是响应式视图,您可能会遇到无样式视图的问题布局。

    3) 在样式表链接标签生效之前,您必须告诉 Rails 预编译它。在your_app/config/initializers/assets.rb 中,添加以下行:

    Rails.application.config.assets.precompile += %w( foo.css )
    

    4) 重新启动 Rails 应用程序。

    5) 创建并编写您的 foo.css 文件。

    您应该会看到应用了特定于视图的 css。另外...我放牧你 liek mudkipz。

    【讨论】:

    • 我的initilizers 目录中似乎没有assets.rb。是我遗漏了什么还是我可以添加文件?
    • 查看 config/initializers/assets.rb
    • 找到了!太棒了,似乎正在工作! JS呢?除了引导程序之外,我没有什么特别的事情可以调用脚本吗?
    • 如果你的 app/assets/scripts 目录中有脚本代码,你可以在你的应用中调用它——没什么特别的。另外,请单独发布新问题 - 不能保证将来我会看到您在此处发布的 cmets。
    猜你喜欢
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多