【发布时间】:2015-07-22 23:26:52
【问题描述】:
我创建了一个名为 more 的新 micropost 控制器操作来接收 ajax 请求。
def more
micropost=Micropost.find_by(params[:id])
@answers=micropost.answers
respond_to do |format|
format.html {redirect_to micropost}
format.js
end
end
我已经创建了 jquery 文件-more.js.erb
$(".microposts").html("<%= escape_javascript(render('users/unfollow')) %>"); `
用部分内容替换内容 我的路线文件是这样的
resources :microposts, only: [:edit,:create,:destroy,:update,:show,:more] do
member do
get :more
end
end
我在视图中调用 javascript 文件
<%= link_to "load more",more_micropost_path(micropost),remote: true %>
它适用于普通的 html 请求,但不是 ajax。当我点击链接时没有任何反应。我看到一些人提出了类似的问题,但修复对我不起作用。有人可以帮我弄这个吗。提前致谢.. firebug 控制台中的错误是
`500 内部服务器错误。 MicropostsController#more 中的 NoMethodError。 nil:NilClass'的未定义方法ID
firebug 错误控制台在右侧显示这条 jquery 行。我不确定它是否是一个错误。
lixhr.send( ( options.hasContent && options.data ) || null );
【问题讨论】:
-
ajax 调用会发生什么。?请解释您面临的问题。
-
请清楚说明您的问题以及您遇到了什么错误?
-
什么都没有发生......它只是保持不变......
-
JS 控制台有错误吗?
-
试试这个
$(".microposts").html("<%= escape_javascript(render paartial: 'users/unfollow') %>");
标签: javascript jquery ruby-on-rails ajax