使用Rails动态地为Pages的Body标签分配唯一ID

时间:2011-01-28 12:59:25

标签: php ruby-on-rails

在PHP中有一个聪明的技巧,根据页面的URL,您可以自动为站点上每个页面的body标签分配一个唯一的ID。 (我觉得写CSS非常有帮助)。

e.g。

<?php
        $url = explode('/',$_SERVER['REQUEST_URI']);
        $dir = $url[1] ? $url[1] : 'home';
?>

<body id="<?php echo $dir ?>">

- &GT;来源:http://css-tricks.com/snippets/wordpress/id-the-body-based-on-url/

结果是,

  • 网址为“http://domain.tld/blog/home”的网页获取ID为“博客”的正文,
  • 网址为“http://domain.tld”的网页的ID为“home”。

我想知道在基于Ruby on Rails的网站上是否有(理想情况下)同样简单和优雅的方式来做同样的事情?

非常感谢分享你的智慧,哦,糟糕的代码!

1 个答案:

答案 0 :(得分:2)

您可以通过在application_controller.rb中添加以下内容,通过控制器和操作来命名它:

before_filter :create_body_id
def create_body_id
  @body_id = "#{params[:controller]}-#{params[:action]}"
end

然后在模板中添加:id="<%= @body_id %>"

对于blog_controller中的索引操作,您将获得id="blog-index"