我只是在选中复选框时才尝试从我的模型中删除推文。
以下是截图:
以下是我视图中代码的开头:
<% @twits.each do |twit| %>
<li>
<%= link_to "#{twit.link}", twit_path(twit) %> | Engagement => <%= twit.engagement %> | <%= twit.like %> likes | <%= twit.retweet %> retweets | on <%= twit.first_date %>
<%= check_box_tag("delete[#{twit.id}]",1) %> -
<%= link_to twit_path(twit) do %>
<i class="glyphicon glyphicon-eye-open"></i>
<% end %> -
<%= link_to twit_path(twit), method: :delete do %>
<i class="glyphicon glyphicon-trash"></i>
<% end %>
</li>
<% end %>
EDIT =&gt;这是我的控制器破坏动作,非常基本。
def destroy
@twit.destroy
redirect_to twits_path
end
感谢您的帮助!
答案 0 :(得分:0)
你需要Javascript。分配class
和id
以删除链接。
<%= link_to 'javascript:void(0);', class: 'delete-link', data: { id: "#{twit.id}" } do %>
<i class="glyphicon glyphicon-trash"></i>
<% end %>
<%= link_to twit_path(twit), method: :delete, class: 'hidden', id: "twit_#{twit.id}" %>
CSS:
.hidden{
display: none;
}
JS:
$('.delete-link').on('click', function(e){
var twit_id = $(this).attr("data-id");
if($("#delete_" + twit_id).is(':checked')){
$("#twit_" + twit_id).trigger('click');
}else{
alert('Please check the checkbox!')
}
});
希望这有帮助!