css - 从 ruby​​ Controller 有条件地设置 CSS 样式

标签 css ruby-on-rails ruby haml

我正在尝试动态更改(如果它被点击)一个普通的表头(这是一个链接)到另一个定义的 CSS 类“th.hilite”。此链接只是对该列进行排序,每次用户对列表进行排序时,标题都应该突出显示。

应该更改相关类的 View ,如下所示:

%table#mytable
  %thead
    %tr
      %th= link_to 'Title', mytable_path(:sort => 'title'), :id => 'title_header'

我的问题很简单:如果单击标题,我如何以及在何处将类动态设置为 %th.hilite?

最佳答案

您可以直接从 View 绑定(bind)它:

%th{:class => ("hilite"if @sort == "title")}= link_to '电影标题'...

但是,您还必须在 Controller 中声明 @sort 实例变量,并将其设置为 titlerelease,根据您正在排序的列。 (即 @sort = params[:sort])

关于css - 从 ruby​​ Controller 有条件地设置 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9646815/

相关文章:

ruby-on-rails - Ruby graphql 如何定义不是 Active Record 的对象类型?

css - CSS 中的左边框和右边框高度相等

ruby-on-rails - 如何在 factory_girl 工厂中包含模块?

ruby-on-rails - 如何在设计authenticate_user中删除html重定向

ruby-on-rails - Rails 将 block 传递给辅助方法

ruby - 测试失败-一种类方法调用另一种(“expected: 1 time with arguments, received 0 times”)

css - 如何阻止 Chrome 使我网站的输入框变黄?

html - Css 文本不会在网站上加载背景 url 图像?

javascript - 如何托管 html 文件,如 css 和 javascript 文件

ruby-on-rails - 使用 Mina 和 Foreman 正确部署 Rails 应用程序