渲染js.erb文件时,它使用javascript渲染布局,这是一个错误吗?

时间:2010-10-30 19:22:35

标签: ruby-on-rails

我找到的解决方法是在控制器中明确说明

render :action => :some_action, :layout => false

否则JavaScript无法正常工作

任何人发现此问题或者我的配置可能出现问题......

2 个答案:

答案 0 :(得分:2)

这是正常的行为。他怎么知道你不想渲染这个布局?

您可以避免在ApplicationController中添加所有js格式的布局

Class ApplicationController

  layout :no_in_js_format

  def no_in_js_format
    if request.format == :js
      return nil
    else
      return 'application
    end
  end
end

答案 1 :(得分:-1)

真正的解决方案:我有布局和轨道的rhtml将所有模板默认为该布局。一旦我将所有rhtml重命名为html.erb,它就解决了问题。以下是有关此内容的详细信息:http://yehudakatz.com/2009/06/18/and-the-pending-tests-they-shall-pass/