使用 ajax 刷新页面时,Ruby on Rails 失败

Posted

技术标签:

【中文标题】使用 ajax 刷新页面时,Ruby on Rails 失败【英文标题】:Ruby on Rails fail when refresh page with ajax 【发布时间】:2013-05-18 20:08:05 【问题描述】:

干杯!我在我的 Rails 项目中有远程操作,比如:

def foo
  respond_to do |format|
    format.js 
  end
end

视野中的某处:

= link_to "foo", foo_path, remote: true

在我的 foo.js.erb 文件中:

$('#bar').html("<%= j render(partial: 'bar') %>");

在我的 _bar.html.haml 部分:

hello, i am bar

一切正常且运行良好,但当我刷新此路线上的页面时,它返回 Missing template 错误。有什么问题?

【问题讨论】:

【参考方案1】:

如果您混合使用不同的格式(在本例中为 erbhaml),则需要指定部分格式。

This question 提供了答案。代替render(partial: 'bar'),使用:

$('#bar').html("<%= j render(partial: '/path/bar.html.haml') %>");

【讨论】:

就是这样,您可以修复答案中的链接吗?谢谢。 当然,解决什么问题?我不知道你的根路径。 [This question] 链接到问题。 抱歉!刚明白你的意思。更新

以上是关于使用 ajax 刷新页面时,Ruby on Rails 失败的主要内容,如果未能解决你的问题,请参考以下文章

Ruby On Rails:jQuery datepicker 仅在刷新页面时有效

对链接进行 ajax 调用单击以更新链接本身(Ruby on Rails)

在 ruby​​ rails html 视图中使用 Ajax 表单更改图标“like”按钮类

ajax成功后刷新页面

Ruby on Rails:视图更改后,网站未更新

如何在 Ruby on Rails 中完成延迟作业后执行 ajax 回调?