Html Haml与Rails:将表列制作为链接

Html Haml与Rails:将表列制作为链接,html,ruby-on-rails,haml,Html,Ruby On Rails,Haml,我正在创建一个haml表,如下所示: %tbody - @records.each do |br| %tr %td.name = br.full_name %td.address = br.address 我想创建一个从整个tr到另一个页面的链接。如何执行此操作?您应该能够将行作为块传递到链接到: link_to(url, html_options = {}) do #row end 编辑: 按OP编辑: 这最终奏效了:

我正在创建一个haml表,如下所示:

%tbody
  - @records.each do |br|
    %tr
      %td.name
        = br.full_name
      %td.address
        = br.address

我想创建一个从整个
tr
到另一个页面的链接。如何执行此操作?

您应该能够将行作为块传递到
链接到

link_to(url, html_options = {}) do
  #row
end
编辑:

按OP编辑: 这最终奏效了:

  %tr
    %td.name
      = link_to(br.full_name, html_options = {:action => 'show', :id => br.id})

您应该能够将行作为块传递到
链接到

link_to(url, html_options = {}) do
  #row
end
编辑:

按OP编辑: 这最终奏效了:

  %tr
    %td.name
      = link_to(br.full_name, html_options = {:action => 'show', :id => br.id})

因为在
标记中嵌套任何块级元素都是非法的。我会使用jQuery来完成它

%tr{"data-link" => url_for(:action => 'show', :id => br.id)}
  %td.name
    = br.full_name
  %td.address
    = br.address
然后,在表的末尾:

:javascript
  $("tr[data-link]").click(function() {
    window.location = this.data("link")
  })
您还应该包括一个将鼠标光标更改为指针的样式表

:stylesheet
  #yourtable tr
    cursor: pointer;

因为在
标记中嵌套任何块级元素都是非法的。我会使用jQuery来完成它

%tr{"data-link" => url_for(:action => 'show', :id => br.id)}
  %td.name
    = br.full_name
  %td.address
    = br.address
然后,在表的末尾:

:javascript
  $("tr[data-link]").click(function() {
    window.location = this.data("link")
  })
您还应该包括一个将鼠标光标更改为指针的样式表

:stylesheet
  #yourtable tr
    cursor: pointer;

下面是我在Rails 4.0.2中的实现方式。我的控制器的名称是
order

为您的表分配一个id,以便您以后可以通过CSS识别它;我使用了id
orders

对于包含数据单元的每个表行,将“数据链接”属性与链接的值一起添加到其中(在我的示例中,它看起来像
/orders/1
等等)


在JavaScript文件(或此处所示的CoffeeScript文件)中,为具有“数据链接”属性的表行创建链接,并使用其各自的“数据链接”值


在控制器的样式表中,当光标悬停在行上时,使光标变为指针,以指示它们是可单击的

app/assets/stylesheets/order.css.scss


下面是我在Rails 4.0.2中的实现方式。我的控制器的名称是
order

为您的表分配一个id,以便您以后可以通过CSS识别它;我使用了id
orders

对于包含数据单元的每个表行,将“数据链接”属性与链接的值一起添加到其中(在我的示例中,它看起来像
/orders/1
等等)


在JavaScript文件(或此处所示的CoffeeScript文件)中,为具有“数据链接”属性的表行创建链接,并使用其各自的“数据链接”值


在控制器的样式表中,当光标悬停在行上时,使光标变为指针,以指示它们是可单击的

app/assets/stylesheets/order.css.scss


我明白了:
非法嵌套:在纯文本中嵌套是非法的。
这是haml,而不是Rubyth。这将生成无效的html。用
标记嵌套
是非法的。出于某种原因,这根本不显示任何内容。如果我将-to改为a=before链接,那么它会显示它之前所做的事情——仍然没有链接。@iblue正确地认为生成的html无效。它将破坏表结构
。你需要一些替代方法它是否非法但在某些浏览器中受支持?只是好奇。当我回答上面提到的问题时,我测试了代码(Firefox 12ish),它将行嵌套在一个锚标记中,效果很好。我得到了这样的结论:
非法嵌套:在纯文本中嵌套是非法的。
这是haml,而不是Rubyth。这将生成无效的html。用
标记嵌套
是非法的。出于某种原因,这根本不显示任何内容。如果我将-to改为a=before链接,那么它会显示它之前所做的事情——仍然没有链接。@iblue正确地认为生成的html无效。它将破坏表结构
。你需要一些替代方法它是否非法但在某些浏览器中受支持?只是好奇。当我回答上面提到的问题时,我测试了代码(Firefox 12ish),该代码将行嵌套在锚标记中,效果很好