将一个类添加到link_to块

时间:2012-07-18 15:47:03

标签: ruby-on-rails ruby-on-rails-3

我有以下代码,显示“删除”链接:

<%= link_to :class => 'some_class', :method => :delete, :data => { :confirm => 'Are you sure?' }  do
  <span>Delete</span>
<% end %>

但由于某些原因,ROR未将some_class添加到a标记。您知道我该怎么做才能解决这个问题?提前谢谢。

4 个答案:

答案 0 :(得分:20)

您需要添加URL作为第一个参数,然后添加html选项,例如:

<%= link_to resource_path(@resource), :class => 'some_class', :method => :delete, :data => { :confirm => 'Are you sure?' }  do
  <span>Delete</span>
<% end %>

答案 1 :(得分:3)

我实际上发现这是一个使用Rails 4.2的工作解决方案

<%= link_to(resource_path(@resource), class: "project-card clearfix") do %>
    <h1>Your html here</h1>
<% end %>

答案 2 :(得分:0)

如果您需要传递控制器和动作(例如编辑和销毁),请按照以下步骤操作:

<%= link_to url_for(controller: controller_name, action: :edit, id: item.id), class: "btn btn-link btn-warning btn-just-icon edit" do %>
  <i class="material-icons">edit</i>
<% end %>
<%= link_to url_for(controller: controller_name, action: :destroy, id: item.id), method: :delete, data: { confirm: t('common.confirm') }, class: 'btn btn-link btn-danger btn-just-icon remove' do %>
  <i class="material-icons">close</i>
<% end %>

答案 3 :(得分:-1)

link_to docs:

link_to(body, url, html_options = {})

所以你想要

<%= link_to <span>Delete</span>, '/someurl', :class=>'some_class', :method=>:delete, .... %>