Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 给haml链接一个id_Ruby On Rails_Haml - Fatal编程技术网

Ruby on rails 给haml链接一个id

Ruby on rails 给haml链接一个id,ruby-on-rails,haml,Ruby On Rails,Haml,我有下面的代码,但是如何设置它,使链接有一个id标记*“title\u header”* 像这样 <a href="/movies?sort=title" id="title_header">Movie Title</a> %th{:class => @title_header}= link_to 'Movie Title', :sort => "title" 它给了我这个 <a href="/movies?id=title_header&am

我有下面的代码,但是如何设置它,使链接有一个id标记*“title\u header”* 像这样

<a href="/movies?sort=title" id="title_header">Movie Title</a>
%th{:class => @title_header}= link_to 'Movie Title', :sort => "title"
它给了我这个

<a href="/movies?id=title_header&amp;sort=title">Movie Title</a>

为什么不使用散列(#)来设置Id

%th{:class => @title_header}
%a#title_header{:href => "/movies?sort=title"} Movie Title

你的第二个例子很接近:

  %th{:class => @title_header}= link_to 'Movie Title', :sort => "title",
      :id => "title_header"
应该是:

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

指定URL时不要使用文字(如您接受的答案所示);当应用程序稍后更改时,您只是在为自己创建工作。

这不是“HAML链接”,而是Rails方法<代码>链接到不是HAML。也没有地方告诉你链接的URL应该是什么。怎么猜你想链接到“/movies”?它创建了一个到/movies的链接?sort=title,它已经在/movies中了。如何创建包含id的链接?
  %th{:class => @title_header}= link_to "Movie Title",
      movies_path({:sort => 'title'}), {:id => 'title_header'}