我试图在 Rails 中突出显示列标题,我按照以下教程创建升序和降序可排序列(http://railscasts.com/episodes/228-sortable-table-columns)。但是我无法使突出显示工作。
这是我一直在使用的代码:
对于视图:
%table#movies<br/> %thead<br/> %tr<br/> %th{:id => 'title_header'}= sortable "title", "Movie Title"<br/> %th Rating<br/> %th= sortable "release_date", "Release Date"<br/> %th More Info<br/>
应用程序助手:
module ApplicationHelper def sortable(column, title = nil) title ||= column.titleize css_class = column == sort_column ? "hilite" : nil direction = column == sort_column && sort_direction == "asc" ? "desc" : "asc" link_to title, {:sort => column, :direction => direction}, {:class => css_class} end end
控制器:
def index @movies = Movie.order(sort_column + " " + sort_direction) end
和
def sort_column Movie.column_names.include?(params[:sort]) ? params[:sort] : "title" end def sort_direction %w[asc desc].include?(params[:direction]) ? params[:direction] : "asc" end
和样式表:
table#movies th.hilite { background-color: yellow; }
我找不到什么问题,但是当我单击标题时,它只是排序而不是黄色突出显示...怀疑它与 *css_class * 有关。
谢谢你的帮助!!