Динамическое присвоение уникальных идентификаторов тегу Body страниц с помощью Rails - PullRequest
1 голос
/ 28 января 2011

В PHP есть хитрый трюк, когда на основе URL-адреса страницы вы можете автоматически назначать уникальный идентификатор тегу body каждой страницы вашего сайта.(что я считаю супер полезным при написании CSS).

например

<?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" получает тело с идентификатором" blog ", а
  • страницас URL-адресом "http://domain.tld" получает идентификатор" home ".

Я хотел бы знать, есть ли (в идеале) одинаково простой и элегантный способ сделать то же самое вСайт на основе Ruby on Rails?

Большое спасибо за то, что поделились своей мудростью, о гадости!

1 Ответ

2 голосов
/ 28 января 2011

Вы можете назвать его по контроллеру и действию, добавив добавив в application_controller.rb следующее:

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

Затем добавьте это в шаблон: id="<%= @body_id %>"

За действие index в blog_controller вы получите id="blog-index"

...