如何在Rails 6应用程序中将变量传递给javascript

如何在Rails 6应用程序中将变量传递给javascript,javascript,ruby-on-rails,fullcalendar,webpacker,Javascript,Ruby On Rails,Fullcalendar,Webpacker,我有一个使用完整日历的rails 6应用程序。我已将日历设置好并正常工作 要完成日历集成,我需要做的唯一一件事就是将@user.id添加到json提要的url中,该提要将数据添加到日历中 这是我的密码: javascript/fullcalendar/fullcalendar.js import { Calendar } from "@fullcalendar/core"; import dayGridPlugin from "@fullcalendar/daygr

我有一个使用完整日历的rails 6应用程序。我已将日历设置好并正常工作

要完成日历集成,我需要做的唯一一件事就是将@user.id添加到json提要的url中,该提要将数据添加到日历中

这是我的密码:

javascript/fullcalendar/fullcalendar.js

import { Calendar } from "@fullcalendar/core";
import dayGridPlugin from "@fullcalendar/daygrid";

document.addEventListener('turbolinks:load', function() {
  var calendarEl = document.getElementById('calendar');

  var calendar = new Calendar(calendarEl, {
    
    plugins: [ dayGridPlugin ],

    eventSources: [
      {        
        url: "/users/<%= @user.id %>/jobs.json",
      }
    ]

  });

  calendar.render();

});
从“@fullcalendar/core”导入{Calendar}”;
从“@fullcalendar/daygrid”导入dayGridPlugin;
document.addEventListener('turbolinks:load',function(){
var calendarEl=document.getElementById('calendar');
var calendar=新日历(calendarEl{
插件:[dayGridPlugin],
事件来源:[
{        
url:“/users//jobs.json”,
}
]
});
calendar.render();
});
如果我将
替换为
3
,则日历将从json.jbuilder文件中提取数据,日历将正常工作


如何将
传递到日历?

在Rails应用程序中,通过传递一个属性是很常见的模式

在视图模板中插入用户ID:

<div id="calendar" data-user-id="<%= @user.id %>">
</div>
var calendarEl = document.getElementById('calendar');
var userId = calendarEl.dataset.userId;