我有一个使用 Ruby 2.5.3 和 Stimulus 1.1.1 框架的 Rails v5.2.4 应用程序。我在我的 Rails 控制器中设置了一些 cookie,并从 Stimulus 控制器访问它们,但是当我第一次加载页面时,我得到:
ReferenceError: Cookies is not defined
at Controller.connect (summary_controller.js:92)
at Context.connect (context.js:23)
但是当我重新加载同一页面时,我得到了 cookie 值并且一切正常。我没有使用任何 gem 来处理 cookie。
我的stimulusjs方法与相应的行号是:
91 connect(){
92 var tech_and_monitor = Cookies.get('tech_and_monitor');
93 var tech_only = Cookies.get('tech_only');
95 var manager_only = Cookies.get('manager_only');
96 }
在第一次加载时,当我在浏览器上使用实时表达式时,Cookies.get('tech_and_monitor');
我得到了 cookie 值。
我不明白为什么我在第一次加载时没有得到对 Cookies 的引用而在第二次加载时没有得到它的引用?