例えば 管理画面上の action ボタンで、データを更新できるようにした場合ですが、
ActiveAdmin.register Message do index do script do raw <<-'EOS' function censor(id, url){ var elem = document.querySelector('#message_'+id+' > .col-text > span'); elem.innerText = "ほげほげ"; $.ajax({ url: url, type: 'PUT', dataType: "json", data: { message: {text: "ほげほげ"} }}); } EOS end selectable_column id_column column :text column :created_at actions do |v| item "ほげボタン", "javascript:censor(#{v.id}, #{raw admin_message_path(v).to_json});", class: "view_link member_link" end end end
dataType json を指定しないと、302 リダイレクトループになってしまいます。
このイシューと同じ状況です。
https://github.com/activeadmin/activeadmin/issues/2345#issuecomment-41262778