加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:从控制器更改元素的类

发布时间:2020-12-17 03:02:25 所属栏目:百科 来源:网络整理
导读:我正在格式化菜单,以便在您点击它之后标题的颜色不同.我想为每个视图使用相同的haml模板,并希望控制器更改特定html元素的类.如何从控制器中定位特定的html元素并为其添加一个类? 这是一个示例: 哈姆尔: %tr %th %a#name-header= link_to "Name",people_pa
我正在格式化菜单,以便在您点击它之后标题的颜色不同.我想为每个视图使用相同的haml模板,并希望控制器更改特定html元素的类.如何从控制器中定位特定的html元素并为其添加一个类?

这是一个示例:

哈姆尔:

%tr
  %th
    %a#name-header= link_to "Name",people_path({:sort => 'by_name'})
  %th Date
  %th Description
  %th More Info

控制者:

def index
  case params[:sort]
  when "by_name"
    @people = Person.find(:all,:order => "name")
    #How can I change the class of the th element here
  else
    @people = Person.all
  end
end

谢谢!

解决方法

控制器代码

def index
  @people,@klass = case params[:sort]
  when "by_name"
     [Person.order(name: :asc),"foo"]
  else
     [Person.all,"bar"]
  end
end

查看代码

tr的css类是基于sort参数的foo或bar:

%tr{class: @klass}
  %th= link_to "Name",people_path(sort: "by_name"),id: "name-header"
  %th Date
  %th Description
  %th More Info

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读