Javascript 未定义的局部变量或方法'gon';对于ApplicationController:rails 4.2中的类
我似乎无法让gon gem与rails 4.2.0一起工作。我得到了“未定义的局部变量或#的'gon'方法”,我是否正确使用了它?此外,我在layout application.html.erb的标题中也有true)%> 应用程序控制器Javascript 未定义的局部变量或方法'gon';对于ApplicationController:rails 4.2中的类,javascript,ruby,ruby-on-rails-4,gon,Javascript,Ruby,Ruby On Rails 4,Gon,我似乎无法让gon gem与rails 4.2.0一起工作。我得到了“未定义的局部变量或#的'gon'方法”,我是否正确使用了它?此外,我在layout application.html.erb的标题中也有true)%> 应用程序控制器 class ApplicationController < ActionController::Base gon.current_user_rolename = current_user.role.name end Applicati
class ApplicationController < ActionController::Base
gon.current_user_rolename = current_user.role.name
end
Application.html.erb
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<%= include_gon(:init => true) %>
<%= Gon::Base.render_data({}) %>
<!-- Main css styles -->
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<!-- Main javascript files -->
<%= javascript_include_tag 'application', "http://localhost:9292/faye.js", 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body >
<%=yield%>
</body>
正确)%%>
正确%>
正确%>
将此代码放在ex的方法中:
def methodname
gon.current_user_rolename = current_user.role.name
end
如果在方法之外定义,它将不起作用
另外,请将以下行放在application.html.erb中csrf_metags行下方:
<%= csrf_meta_tags %>
<%= include_gon(:init => true) %>
<%= Gon::Base.render_data({}) %>
正确)%%>
不确定这是否是问题所在,但也许您可以尝试使用新语法来代替?push({current\u user\u rolename:current\u user.role.name})。
<%= csrf_meta_tags %>
<%= include_gon(:init => true) %>
<%= Gon::Base.render_data({}) %>