我有一个由此生成的链接:
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_text
和toggle_href
有效。但由于某种原因,toggle_class
不起作用。
我有办法做我想做的事情,即成功的AJAX调用,切换我的a
标记的类(即只添加类favorited
或删除它)没有使用一堆JS,只使用这样的数据属性?
答案 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);
}
}