Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 未定义的局部变量或方法'gon';对于ApplicationController:rails 4.2中的类_Javascript_Ruby_Ruby On Rails 4_Gon - Fatal编程技术网

Javascript 未定义的局部变量或方法'gon';对于ApplicationController:rails 4.2中的类

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

我似乎无法让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
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({}) %>