尝试在rails中突出显示标题时出现NoMethodError

时间:2015-11-09 23:27:04

标签: ruby-on-rails

我是Rails的初学者,我正在开发电影数据库应用程序,并且在点击它时让这个标题突出显示有些麻烦。

以下是我的views目录,使用haml。

%table#movies
  %thead
    %tr
      %th{ :class => hilite('title')}= link_to "Movie Title", movies_path(:sort => 'title'), :id => "title_header"
      %th Rating
      %th{ :class => hilite('release_date')}= link_to "Release Date", movies_path(:sort => 'release_date'), :id => "release_date_header"
      %th More Info

然后我在application.css文件中有以下内容。

table#movies hilite {
  background-color: yellow;
} 

当我通过cloud9在localhost服务器上运行时,出现以下错误。

NoMethodError in Movies#index
undefined method `hilite' for #<#<Class:0x00000003500fe8>:0x007f1afc229520>

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我不太熟悉HAML,但是在教程网站上查看一些示例用法,我想我可能知道问题是什么。 目前,你有这个:

%th{ :class => hilite('title')}= link_to "Movie Title", movies_path(:sort => 'title'), :id => "title_header"

但是,hilite不是一种方法。它只是您要在CSS文件中使用的类名,因此您应该为此更改它:

%th{ :class => "hilite" }= link_to "Movie Title", movies_path(:sort => 'title'), :id => "title_header"

另外,为了省去一点麻烦,我发现你错过了CSS中的.

table#movies .hilite {
  background-color: yellow;
} 

如果这是您正在寻找的,请告诉我。干杯!