加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 必须调用“render:layout => false”才能

发布时间:2020-12-17 01:48:18 所属栏目:百科 来源:网络整理
导读:我正在运行最新的Rails 2-3-stable分支(目前为2.3.3). 我正在使用JQuery向我的’create’操作发布一个AJAX请求,其中我有以下块: respond_to do |format| format.jsend 我创建了create.js.erb并测试了这个动作,我添加了以下单行: alert('hello'); 请求正确
我正在运行最新的Rails 2-3-stable分支(目前为2.3.3).

我正在使用JQuery向我的’create’操作发布一个AJAX请求,其中我有以下块:

respond_to do |format|
  format.js
end

我创建了create.js.erb并测试了这个动作,我添加了以下单行:

alert('hello');

请求正确进入format.js块,但响应尝试呈现布局.这是我的日志:

Jul 22 20:44:27 [2970] INFO: Rendering template within layouts/application
Jul 22 20:44:27 [2970] INFO: Rendering contacts/create

如果我将respond_to块更改为以下内容,则可以:

respond_to do |format|
  format.js { render :layout => false }
end

这是预期的行为还是Rails中的一个错误?我原以为我渲染JS响应就足以将布局设置为false.

解决方法

我对Rails书籍上的Ajax的记忆是,这是早期版本的rails中的标准,如果不一定是预期的行为.

以下故障单显示了几个版本的错误记录,以及将行为定义为默认值的方法.

http://dev.rubyonrails.org/ticket/3229

遗憾的是,在最终评论中没有解释后来的变化使得这个过时的描述.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读