我可以通过链接上的数据属性切换类吗?

时间:2015-08-03 19:54:46

标签: ruby-on-rails html5 ruby-on-rails-4

我有一个由此生成的链接:

link_to(unfavorite_node_path(node), class: "card-favorite-count", method: :post, remote: true,  data: { toggle_text: node.cached_votes_total, toggle_href: favorite_node_path(node), toggle_class: "favorited" }) do
   # Some Code
end

请注意,toggle_texttoggle_href有效。但由于某种原因,toggle_class不起作用。

我有办法做我想做的事情,即成功的AJAX调用,切换我的a标记的类(即只添加类favorited或删除它)没有使用一堆JS,只使用这样的数据属性?

1 个答案:

答案 0 :(得分:0)

我不认为这是开箱即用的Rails的东西。我认为你可能安装了一个gem,或者有一些Javascript库。搜索'rails toggle_href'不会返回任何内容。

我的猜测是有人构建了一个帮助脚本来管理用户点击链接,触发AJAX调用来设置值,然后切换显示以更新UI。此脚本可能不期望使用toggle_class,并且需要进行修改以检查toggle_class选项并更新UI。

话虽如此,您可以非常轻松地添加这样的JQuery代码段:

$(document).ready(function() {
    $('*[data-toggle_class]').click(function(evt) {
        var link = $(this);
        var toggleClass = link.data('toggle_class');
        link.toggleClass(toggleClass);
    }
}