在Haml的链接中执行ruby代码

the*_*ans 4 ruby haml

我希望在正常的Activerecord表中有一个"删除用户"链接,但我无法弄清楚如何在haml中纠缠内联ruby.

我有这个:

   %tbody
    - @users.each do |user|
      %tr
        %td= user.name
        %td= user.login
        %td
          %a
            %img{:src => '../images/delete.png', :title => 'Delete user'}
Run Code Online (Sandbox Code Playgroud)

我怎么做的

- user.destroy
Run Code Online (Sandbox Code Playgroud)

在Haml中是一个可点击的链接?

Jam*_*sen 7

我想你想要的

%tbody
 - @users.each do |user|
   %tr
     %td= user.name
     %td= user.login
     %td
       = link_to image_tag('delete.png', :title => "Delete #{user}"), user_path(user), :method => :delete)
Run Code Online (Sandbox Code Playgroud)

看到 ActionView::Helpers::UrlHelper#link_to

或者,如果你不使用ActionPack,

%tbody
  - @users.each do |user|
    %tr
      %td= user.name
      %td= user.login
      %td
        %a{:href => "/users/#{user.id}?_method=delete"}
          %img{:src => '/images/delete.png', :title => "Delete #{user}"}
Run Code Online (Sandbox Code Playgroud)