Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ajax回调上重新加载Rails部分_Javascript_Ruby On Rails_Ruby_Ajax_Cancan - Fatal编程技术网

Javascript 在ajax回调上重新加载Rails部分

Javascript 在ajax回调上重新加载Rails部分,javascript,ruby-on-rails,ruby,ajax,cancan,Javascript,Ruby On Rails,Ruby,Ajax,Cancan,在MyRails应用程序中,用户可以在文件夹中创建新的博客文章。我想在用户创建新帖子时刷新包含所有文件夹帖子的部分内容。我试图在folders控制器中创建一个操作,该操作只需再次调用分部并替换它,但我得到一个CanCan::AccessDenied 500错误 在my index.html.erb中,这是指向“我的文件夹显示部分”的链接: <%= link_to folder_path(folder), remote: true %> Ajax\u load\u events.js

在MyRails应用程序中,用户可以在文件夹中创建新的博客文章。我想在用户创建新帖子时刷新包含所有文件夹帖子的部分内容。我试图在folders控制器中创建一个操作,该操作只需再次调用分部并替换它,但我得到一个CanCan::AccessDenied 500错误

在my index.html.erb中,这是指向“我的文件夹显示部分”的链接:

<%= link_to folder_path(folder), remote: true %>
Ajax\u load\u events.js:

$("#panel-container").replace_html('<%= escape_javascript(render(:partial => "contents", :locals => {:folder => @folder})).html_safe %>');

您可能没有正确定义用户能力。尝试将以下行之一添加到能力文件的底部:

can :ajax_load_events, Folder
允许用户执行特定的控制器操作

或:

它允许用户在资源上执行所有类型的操作,而不仅仅是CRUD

$("#panel-container").replace_html('<%= escape_javascript(render(:partial => "contents", :locals => {:folder => @folder})).html_safe %>');
$("#save-entry").click(function(){
            $.ajax({
                type: "POST",
                url: "/submissions",
                dataType: "json",
                data: {title: $("#title-create-partial").text(), content: $("#content-create-partial").text(), folder_id: <%= @folder.id %>},
                complete: function(){
                    $.get("/ajax_load_events/", {folder: <%= @folder.id %>}, null, "script");
                }
            });
        })
get "/ajax_load_events(.:format)" => "folders#ajax_load_events"
can :ajax_load_events, Folder
can :manage, Folder