我试图在rails 4中使用gon,但它似乎根本不起作用。
在application.html.erb我有
<%= include_gon(:init => true) %>我尝试使用和不使用init语句,并尝试将其放置在我的控制器视图中。
在我的控制器里
gon.item_status = "delivered"
respond_to do |format|
format.json { render json: item, location: item }
end 在我的咖啡剧本里
$ ->
$("a[data-remote]").on "ajax:success", (e, data, status, xhr) ->
console.log(item_status)在控制台中,我看到了未定义的内容,在窗口源代码中,我看到了以下内容:
//<![CDATA[
window.gon={};
//]]>所以我可以看到,gon已经加载,并试图获得一个变量,但没有任何传递给它。我的控制器代码有问题还是rails 4有更广泛的问题?
发布于 2014-11-04 11:55:52
您需要使用gon.item_status对象访问JS中的贡变量。
对于AJAX请求,您需要使用gon.watch“监视”贡数组,它不会使用AJAX请求自动更新head标记中的JS。
请参阅创业板主页:
https://stackoverflow.com/questions/26733677
复制相似问题