ruby-on-rails - 如何将当前的高压页面名称添加为主体类?

标签 ruby-on-rails rubygems ruby-on-rails-3.2 helper

我想知道如何回显当前的高压页面名称作为我的 <body> 的类?

我当前的解决方案有点麻烦:

# app/views/layouts/application.html.erb
<body class="<%= yield :body_class %>">

# app/views/pages/principles.html.erb
<% content_for :body_class do %>home<% end %>

任何帮助将不胜感激。

最佳答案

您可以创建一个 View 助手,它将返回一个包含 Controller 名称、操作、ID 等的字符串。

module ApplicationHelper
  def body_class
    "#{controller_name} #{controller_name}-#{controller.action_name} #{page_id}"
  end

  def controller_name
    controller.controller_path.gsub('/','-')
  end

  def page_id
    params['id']
  end
end

关于ruby-on-rails - 如何将当前的高压页面名称添加为主体类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13465477/

相关文章:

ruby-on-rails - Facebook 如何处理数据库端的隐私设置?

ruby-on-rails - 如何定义包含反斜杠 ("\") 字符的 ruby​​ 数组?

ruby-on-rails - 无法 sudo gem uninstall(您没有写入权限)

ruby-on-rails - 没有要加载的文件 -- bundle 程序 (LoadError)

ruby-on-rails - Rails 在哪里存储夏令时的开始和结束日期?

ruby-on-rails - rails : Has_many through query depending on the through table attribute

Heroku twitter bootstrap 和 sass 编译在生产中失败

ruby-on-rails - Rails postgis 适配器在表 "geometry_columns"中进行了大量查询

ruby-on-rails - 无法加载此类文件 -- mysql2/2.4/mysql2 (LoadError) - windows

列出了 Ruby gem,但不会加载(用户目录中的 gem,而不是 ruby​​ 目录)