【问题标题】:render an action view using ajax with js.erb使用 ajax 和 js.erb 渲染动作视图
【发布时间】:2012-06-23 13:30:57
【问题描述】:

show.js.erb 内部

$('#viewport').html("<%= escape_javascript(render('show')) %>");

我正在尝试将显示视图呈现到索引视图的底部。显示不是局部的。 这行不通。但我确信这个页面会被执行,因为我尝试了类似“hello world”之类的东西,并且它被渲染了。

我做的其他事情是:

在索引视图中添加了一个 div #viewport

在索引视图内的链接中添加了远程:true

在控制器的显示操作中添加了渲染 js { :layout => false }

【问题讨论】:

  • 您是否遇到任何错误? JS错误? 500 错误?
  • 如何检查?我认为没有任何前端错误,我认为我在 js.erb 中进行渲染的方式有问题。

标签: ruby-on-rails


【解决方案1】:

将显示视图转换为部分视图。将 show.html 中的源代码移动到名为 _view.html.erb 的文件中:

$('#viewport').html("<%= escape_javascript(render('view')) %>");

Show.html.erb 变成了:

render('view')

【讨论】:

  • tail -f log/development.log 在你的根目录中。
  • 现在知道了,问题是缺少局部变量。但我真的希望它是非局部视图,有什么办法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-17
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 2016-01-03
  • 1970-01-01
相关资源
最近更新 更多