出现这个问题可能是由于代码没有正确地返回部分渲染格式。要解决这个问题,需要在控制器中明确地使用部分渲染格式并指定要渲染的部分。以下是一个示例控制器和视图,可以正确地返回部分渲染格式并在Ajax调用时工作:
控制器代码:
class UsersController < ApplicationController
def index
@users = User.all
respond_to do |format|
format.html
format.js { render partial: 'users/list', locals: { users: @users } }
end
end
end
视图代码:
Users
<%= render partial: 'users/list', locals: { users: @users } %>
在这个示例中,控制器指定了一个名为"users/list"的部分渲染格式,并且使用locals
变量将用户数据传递给部分渲染。视图在一个名为"users"的div
容器中呈现了此部分渲染格式,并使用Ajax调用来更新此部分渲染。当Ajax调用成功时,将按预期更新div
容器中的部分内容。