Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在分部的内部加载分部?_Javascript_Ruby On Rails_Ruby_Partial_Renderpartial - Fatal编程技术网

Javascript 如何在分部的内部加载分部?

Javascript 如何在分部的内部加载分部?,javascript,ruby-on-rails,ruby,partial,renderpartial,Javascript,Ruby On Rails,Ruby,Partial,Renderpartial,我试图在加载页面时触发AJAX请求。我想这最好是我的控制器 首先我打开一个新的页面 def text_tabs_nav end 这个页面能够通过AJAX加载两个不同的部分。我想在默认情况下加载其中一个 所以我想也许这 def text_tabs_nav respond_to do |format| format.html format.js end end 在我的文本_tabs _nav.js中,我写道: == $("#content").html("#{ escap

我试图在加载页面时触发AJAX请求。我想这最好是我的控制器

首先我打开一个新的页面

def text_tabs_nav
end
这个页面能够通过AJAX加载两个不同的部分。我想在默认情况下加载其中一个

所以我想也许这

def text_tabs_nav
  respond_to do |format|
    format.html
    format.js
  end
end
在我的文本_tabs _nav.js中,我写道:

== $("#content").html("#{ escape_javascript(render :partial => 'about_us') }");
但是javascript没有加载..我在页面加载后使用相同的javascript加载东西,它工作正常

有人知道我如何加载一个部分文本选项卡导航,并在about-us中加载一个默认的AJAX部分吗


谢谢

它没有被解析,因为它在一个普通的js文件中。你想要的是


text_tabs_nav.js.erb

在一场光荣的失败之战中,我抛弃了管制员,在我的视野中增加了一个常规呼叫

:javascript
  $("#content").html("#{ escape_javascript(render :partial => 'about_us') }");

问题解决。

香草味?隐马尔可夫模型。。我的文件名为text_tabs_nav.js。我将控制器切换为format.js.erb,文件也切换为format.js.erb,但它没有渲染。返回了未定义的方法“erb”,因为我没有遵循。。。您的文件应称为text_tabs_nav.js.erb。否则rails会假定它只是一个常规javascript文件,没有ruby可处理。line format.js保持不变。无论何时渲染任何内容,它都会查找该文件,例如不带扩展名的text_tabs_nav.js,或带有任何模板扩展名的.erb、.haml.Ah。。我忘了说我在用haml/sass。更进一步,我将其重命名为text_tabs_nav.js.haml。因此,如果我从控制器中删除format.html,它将加载到正确的内容中。但是有了它,它实际上并没有将AJAX加载到页面中,我强烈建议您在javascript中使用erb。考虑到您正在使用haml,我不知道您为什么在这行的开头有==。我感谢您的建议。我假设HAML JS不需要==。我认为问题可能是因为加载页面所需的ajax必须在加载页面之后发生。因为我希望它是默认的,所以我不想把它放在视图中,因为其他部分也必须在那里加载。尽管如此,我还是感谢你的评论