我正在尝试将bootstrap开关添加到rails项目中。当我从here添加我的脚本时:
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.4/js/bootstrap-switch.js" data-turbolinks-track="true"></script>
我最终在控制台中收到错误:
Uncaught TypeError: Cannot read property 'fn' of undefined
at bootstrap-switch.js:743
at bootstrap-switch.js:19
at bootstrap-switch.js:22
以下突出显示红色的fn就在这里:
$.fn.bootstrapSwitch = function (option) {
for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
args[_key2 - 1] = arguments[_key2];
}
为什么没有找到任何想法?或者是否有人有一个指向我可以使用的bootstrap-switch.js文件的链接?
谢谢!
我也尝试使用bootstrap-switch gem,但这给了我一个不同的错误。
答案 0 :(得分:4)
此类错误背后的最常见原因是,在此插件脚本之前没有加载JQuery。确保在JQuery之后添加了#include <sys/types.h>
#include <pty.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
int main() {
int master;
pid_t pid = forkpty(&master, NULL, NULL, NULL);
if (pid == -1) {
perror("forkpty");
return EXIT_FAILURE;
}
if (!pid) {
char* exec_argv[] = {"less", NULL};
execvp(exec_argv[0], exec_argv);
perror("CHILD: execvp");
return EXIT_FAILURE;
}
char text[] = "Hello, world!\n";
char* text_ptr = text;
size_t bytes_left = sizeof(text) - 1;
while (bytes_left > 0) {
ssize_t bytes_written = write(master, text_ptr, bytes_left);
if (bytes_written == -1) {
perror("PARENT: write");
return EXIT_FAILURE;
}
bytes_left -= bytes_written;
text_ptr += bytes_written;
}
if (close(master) == -1) {
perror("PARENT: close");
return EXIT_FAILURE;
}
if (waitpid(pid, NULL, 0) == -1) {
perror("PARENT: waitpid");
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
的CDN版本。
我的意思是跟随:
bootstrap-switch.js