Html 从Rails视图更改Haml表的CSS属性

Html 从Rails视图更改Haml表的CSS属性,html,css,ruby-on-rails,ruby,haml,Html,Css,Ruby On Rails,Ruby,Haml,我想从视图中更改表格标题的背景色,这样当我单击表格标题URL时,其背景色就会更改 我在哈姆尔恢复了这一观点: %table#movies %thead %tr %th= link_to "Movie Title", movie_path, :id => "title_header" -#this is the table header 点击“电影标题”后,这就是我想要应用于表格标题的CSS样式: table#{ 背景颜色:黄色; } 我不知道如何将单击与表格标题背景颜

我想从视图中更改表格标题的背景色,这样当我单击表格标题URL时,其背景色就会更改

我在哈姆尔恢复了这一观点:

%table#movies
  %thead
   %tr
    %th= link_to "Movie Title", movie_path, :id => "title_header" -#this is the table header
点击“电影标题”后,这就是我想要应用于表格标题的CSS样式:

table#{
背景颜色:黄色;
}
我不知道如何将单击与表格标题背景颜色绑定。 这个问题来自一个在线课程,这是一个家庭作业,我们不能使用javascript

$('title_header')。单击(()->
$(this.toggleClass('active'))
)
CSS:

#title_header.active{
背景颜色:黄色;
}
确保只有一个
#title_标题
——否则,将其更改为类

更新
如果您不想像您在评论中所说的那样使用javascript:

%table#movies
  %thead
   %tr
    %th= link_to "Movie Title", movie_path, :id => "title_header", onclick: "$(this).css('background-color', 'yellow')"
您可以使用伪选择器

#movies th a:visited {
  background-color: yellow;
}

上述样式适用于已访问的链接。但是,请注意,这些样式应用于
a
,而不是
th

这是我在一些Git存储库中找到的解决方案

一个helper方法是requeryid,用于检查%th是否是应用样式所需的类

def helper_class(field)
 if(params[:sort].to_s == field)
   return 'hilite'
 else
   return nil
 end
end
在视图中仅在%th标记中调用了Previous方法

%table#movies
  %thead
    %tr
      %th{:id => 'title_header', :class => helper_class('title') }= link_to "Movie Title", movies_path(:sort=>'title', :ratings =>params[:ratings]), :id => 'title_header'
      %th Rating
      %th{:id => 'release_date_header', :class => helper_class('release') }= link_to "Release Date", movies_path(:sort=>'release',:ratings =>params[:ratings]), :id => 'release_date_header'
      %th More Info
  %tbody
    - @movies.each do |movie|
      %tr
        %td= movie.title 
        %td= movie.rating
        %td= movie.release_date
        %td= link_to "More about #{movie.title}", movie_path(movie)

= link_to 'Add new movie', new_movie_path
使用此代码,具有as class
:class=>hilite
的表格标题将更改为我在问题上提出的此样式


感谢你们所有人在这方面的帮助,我是网络开发的新手

谢谢,伙计,但我不是在使用coffeescript,它是rails的掌舵人。@alejandrozuleta Haml只是编写HTML的一种简单方法。HTML不支持用户点击时的行为(提交按钮除外)。你需要JavaScript(或CoffeeScript,一种编写JavaScript的简短方式)来支持它。@RoryO'Kane好的,谢谢你让我明白,我从一个在线课程中学习了这个(以及其他问题),其中一个注意事项是不要使用JavaScript。如果CSS有父选择器,然后我们就可以有一个纯非js的解决方案了:/一些解释会有用的。你在哪里添加了helper\u类?当我尝试这个的时候,我得到了noMethodError“
%th{:class => ("hilite" if params[:id]== "title_header")}= link_to 'Movie Title', movies_path(id: 'title_header')