Javascript 未捕获的TypeError:undefined不是具有fullcalendar rails的函数
我正在尝试添加到我的项目中,但它不起作用,我无法找出问题所在 它已添加到我的文件中:Javascript 未捕获的TypeError:undefined不是具有fullcalendar rails的函数,javascript,jquery,ruby-on-rails,fullcalendar,Javascript,Jquery,Ruby On Rails,Fullcalendar,我正在尝试添加到我的项目中,但它不起作用,我无法找出问题所在 它已添加到我的文件中: gem 'fullcalendar-rails' gem 'momentjs-rails' 然后进入application.js: //= require jquery //= require moment //= require jquery_ujs //= require jquery_nested_form //= require turbolinks //= require bootstrap.min
gem 'fullcalendar-rails'
gem 'momentjs-rails'
然后进入application.js:
//= require jquery
//= require moment
//= require jquery_ujs
//= require jquery_nested_form
//= require turbolinks
//= require bootstrap.min
//= require fullcalendar
//= require_tree .
和application.css而不是.css.scss:
*= require bootstrap.min
*= require fullcalendar
*= require_tree .
*= require_self
这是我用来加载日历的.js:
$( document).ready( function(){
$('#calendar').fullCalendar( {
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay' },
editable: true,
defaultView: 'agendaWeek',
eventLimit: true,
events: source
});
})
但它不起作用,浏览器控制台显示此错误:
Failed to get text for stylesheet 31: No style sheet with given id found
Uncaught TypeError: undefined is not a function -> pointing at: $('#calendar').fullCalendar( {
所以它基本上不知道fullCalendar
问题是,如果我使用的话,一切都可以正常工作,但是gem的限制更大,不包括locale和slotDuration等函数。所以我想用fullcalendar rails替换它
无论如何,我非常感谢您的帮助。只是一个想法,因为不看您的项目就很难判断,但是您是否将其添加到了布局中
<%= stylesheet_link_tag "the-stylesheet", :media => "all" %>
或者,如果您依赖rail资产管道,请确保设置了资产预编译,或者运行rake命令进行编译。Sorry@gchaturvedi,您的意思是将fullcalendar.css添加到布局中?是的,它找不到样式表,因此可能缺少该样式表,需要链接到添加JS代码的位置。此外,您是否正确地编译了您的资产?选择器似乎也找不到$'calendar',因为它返回的是未定义的。我正在手动编译资产rake assets:precompile,这没有什么区别。通过样式表了解您的观点,但它们都在同一块宝石中。默认情况下不应该加载吗?在application.html.erb中是否有以下行?如果您正在运行上面的rake命令,那么从技术上讲,它应该与rails资产管道一起运行。我自己刚刚尝试在一个全新的rails项目上设置它,并且能够使它工作。尝试rake资产:清理并手动删除您的tmp文件夹。然后是一个rake资产:预编译。另一个问题可能是一些其他样式表正在破坏fullCalendar的样式。