2011-01-28 55 views
1

在PHP中,有一個巧妙的技巧,根據頁面的URL,您可以自動爲站點上每個頁面的body標籤分配唯一的ID。 (我發現在編寫CSS時超級有用)。使用Rails爲頁面的Body標籤動態分配唯一ID

例如

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

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

- >來源:http://css-tricks.com/snippets/wordpress/id-the-body-based-on-url/

結果使得,

  • 用的URL頁面的 「http://domain.tld/blog/home」 得到了體ID爲「博客」,並且
  • 具有URL「http://domain.tld」的頁面獲得「home」的ID。

我想知道是否有(理想情況下)同樣簡單和優雅的方式在基於Ruby on Rails的網站上做同樣的事情?

非常感謝您分享您的智慧,哦,非常糟糕的代碼!

回答

2

您可以通過控制器和行動,加入其命名爲增加在application_controller.rb如下:id="<%= @body_id %>"

對於blog_controller索引操作,你會:

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

模板然後添加此獲得id="blog-index"

+0

感謝您的幫助。你究竟是什麼意思,「對於blog_controller中的索引操作,你會得到class =」blog-index「?你能否把這些結果與一個URL的例子聯繫起來 – jon 2011-01-28 13:32:03