我发现了几个与该问题相关的问题,但尽管复制了解决方案,但我无法让它发挥作用。例如jQuery qTip2 中的 Rails 动态内容。
处理到达控制器以产生内容,但它进入一个循环。
$('td.config_info_tip').qtip({
content: {
text: 'Loading',
ajax: {
url: 'config',
data: {
"id": $(this).attr("id")
},
method: 'get'
}
},
style: {
classes: 'ui-tooltip-shadow ui-tooltip-rounded'
}
});
在控制器中
def config
id = params[:id]
@device = Device.find_by_id(id)
@devicecategory = DeviceCategory.find_by_id(@device.device_category_id)
respond_to do |format|
format.html { render layout: false}
end
end
当它通过渲染时,它会回到配置函数,循环直到溢出,我得到
SystemStackError (stack level too deep):
actionpack (3.2.1) lib/action_dispatch/middleware/reloader.rb:70
我有另一个 qtip 做类似的事情,效果很好 - 我可以看到不同之处在于我正在传递一个不起作用的数据。另一个微妙之处在于,提示不起作用的页面本身是用 jquery 呈现的,因此提示的 js 代码在页面上,而有效的代码在 $(document).ready 中功能。我很想知道这是哪里出了问题。
我试过取出respond_to,只是有
render layout: false
这个有效:
$('img#priceinfo').qtip({
content: {
text: 'Loading',
ajax: {
url: 'pricing',
type: 'GET'
}
},
style: {
classes: 'ui-tooltip-shadow ui-tooltip-rounded'
}
});
和控制器
def current
@d = Date.today
# ought to check that we have prices defined
@price = Price.where("effective_from < ?", @d).order("effective_from desc").first
render layout: false
end
任何人有任何想法 - 它现在让我难倒了几个小时?