小编iai*_*ain的帖子

查找OmniAuth的已加载提供程序

我想知道OmniAuth gem使用了哪些提供程序.我试过这个:

OmniAuth::Strategies.constants  # a method provided by the standard lib Module class
# => [:Developer, :OAuth, :Twitter]
Run Code Online (Sandbox Code Playgroud)

还有这个:

OmniAuth.strategies.inspect # a method provided by the OmniAuth class, but which has no documentation or comments around it.
# => [OmniAuth::Strategies::OAuth]
Run Code Online (Sandbox Code Playgroud)

我期望(或想要)的答案[:Developer, :Twitter]就像我的测试代码一样,我只是明确地加载了twitter,默认情况下加载了开发人员.

(这就是所有不同的库可以加载正确的东西使它工作,取决于OmniAuth运行的是什么.)

如果有办法让你知道,请告诉我.否则我将是务实的,并从第一个例子中将OAuth从列表中删除.

Ruby是1.9.3,OmniAuth是v1.1.1

ruby omniauth

6
推荐指数
2
解决办法
2035
查看次数

当 PRAGMA foreign_keys=ON 时,是否允许在 sqlite 中有空外键?

根据这个空外键是允许的,除非并且直到我们向模式添加适当的“NOT NULL”约束。

但我看到了一些不同的行为,

sqlite> PRAGMA Foreign_keys;
1
sqlite> create table proc (
sqlite>   pid integer,
sqlite>   name text,
sqlite>   ppid integer,
sqlite>   foreign key (ppid) references proc (id)
sqlite> );
sqlite> .schema proc
CREATE TABLE proc (
  pid integer,
  name text,
  ppid integer,
  foreign key (ppid) references proc (id)
);

sqlite> insert into proc (pid, name, ppid)
sqlite> values (0, "init", null);
Error: foreign key mismatch

sqlite> PRAGMA Foreign_keys=OFF;
sqlite> PRAGMA Foreign_keys;
0

sqlite> insert into proc (pid, …
Run Code Online (Sandbox Code Playgroud)

sqlite android-sqlite

6
推荐指数
1
解决办法
7719
查看次数

检查外部样式表是否已加载后备

已经类似的帖子,但我觉得它不能很好地回答我的特定问题.

我想检查外部样式表是否已加载.例如,如果它已被网络问题阻碍,那么我想知道并加载回退.这是对于jQuery的主题CSS的CDN的后备,但我更喜欢这不是特别关于那个,因为我使用的其他外部CSS我也想应用它.

  • 参考link元素将在页面上,因此不能接受头部中链接元素存在的模式匹配.
  • 我没有能力在样式表中更改CSS,因此添加虚拟CSS是不可接受的.
  • 由于我无法控制外部样式表中的CSS,因此依赖CSS中的现有类是脆弱的,所以我更喜欢有另一种解决方案.
  • 使用超时是唯一的方法吗?我应该为它设置多长时间?我应该选择什么样的事件来衡量时间?
  • 我更喜欢纯javascript,然后是jQuery,但是其他javascript框架的答案将被接受,因为它们无疑会对某人有所帮助.

编辑:一个新的想法.如果通过AJAX加载样式表并检查状态代码怎么样?这是一个可行的选择吗,有人知道吗?


这是我目前的脚本:

<script type="text/javascript">
  var cdn = 'http://code.jquery.com/ui/1.10.1/themes/black-tie/jquery-ui.min.css';
  var ss = document.styleSheets;
  for (var i = 0, max = ss.length; i < max; i++) {
    var sheet = ss[i];
    var rules = sheet.rules ? sheet.rules : sheet.cssRules;
    if (sheet.href == cdn) {
      if ( rules == null || rules.length == 0) {
        var link = document.createElement("link");
        link.rel = "stylesheet";      
        link.href = '/js/jquery-ui/1.10.1/themes/black-tie/jquery-ui.min.css';
        document.getElementsByTagName("head")[0].appendChild(link);  
      }
      break;
    } …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery

6
推荐指数
1
解决办法
4114
查看次数

哪个目录是openssldir?

编译OpenSSL时,您可以添加2个选项(来自OpenSSL源中的INSTALL):

 Configuration Options  
 ---------------------

 There are several options to ./config (or ./Configure) to customize
 the build:

  --prefix=DIR  Install in DIR/bin, DIR/lib, DIR/include/openssl.
            Configuration files used by OpenSSL will be in DIR/ssl
                or the directory specified by --openssldir.

  --openssldir=DIR Directory for OpenSSL files. If no prefix is specified,
                the library files and binaries are also installed there.
Run Code Online (Sandbox Code Playgroud)

当编译依赖于OpenSSL的或可以添加其他的东西,一个选项将可用例如用于TINC--with-openssl是可用的.这应该指向给出的OpenSSL编译选项prefix还是openssldir

注意:我没有编译tinc,这只是我用清晰的例子找到的第一件事.

openssl compilation

6
推荐指数
2
解决办法
3万
查看次数

ServiceWorker 的“获取”:不是 Response 的对象已传递给 responseWith()

服务工作者“获取”不返回响应对象

我正在尝试使用缓存内容来回答请求。如果缓存没有所需的内容,我将从服务器获取,将响应放入缓存并返回。

self.addEventListener('fetch', function (event) {
  if (event.request.method != 'GET')
    return;
  event.waitUntil((async () => {
    // some IndexedDB stuff which works fine
  })());
  event.respondWith((async () => { //<----------- this is line 154
    var freshResource = fetch(event.request).then(async function (response) {
      if (!response || response.status !== 200 || response.type !== 'basic') {
        return response;
      }
      if (ENABLE_DYNAMIC_CACHING) {
        var responseToCache = response.clone();
        caches.open(DYNAMIC_CACHE).then(function (cache) {
          cache.put(event.request, responseToCache);
        });
      }
      return response;
    }).catch(function (error) {
      console.err('Error: ' + error.message);
    });
    caches.match(event.request).then(async function (resp) …
Run Code Online (Sandbox Code Playgroud)

javascript async-await service-worker

6
推荐指数
1
解决办法
3492
查看次数

Markdown,启用块级 html 中的 Markdown 处理

来自Daring Fireball 的 Markdown 文档

请注意,Markdown 格式语法不会在块级 HTML 标签内处理。例如,您不能在 HTML 块中使用 Markdown 风格的强调

我想在 div 标签中包装一些降价,并仍然让它处理降价。有没有办法用开关或其他东西来做到这一点?

例如

<div>

* * *

The asterisks would still become an <hr/>

</div>
Run Code Online (Sandbox Code Playgroud)

我使用 RDiscount 作为降价过滤器。任何帮助深表感谢。

ruby markdown

5
推荐指数
1
解决办法
654
查看次数

设计 - 为多个用户单一登录表单

我有两个Devise模型,User和Business; 我希望两者都能够使用单一登录形式登录.我正在使用骨干js,我有一个自定义的视图,所以视图不是一个问题.ajax请求用于登录,它按预期适用于用户,但不适用于企业.

我搜索过谷歌,并提到了一些提到使用STI来解决这个问题的解决方案,但是项目已经完成,我现在无法做出这样的改变.我正在考虑重写Devise会话控制器和:

  1. 检查给定的电子邮件地址是否为用户,然后使用Warden对用户进行身份验证.
  2. 如果未找到具有该电子邮件的用户,则使用Warden对Business模型进行身份验证.

我无法弄清楚如何更改代码来实现上述目标,我不知道warden如何工作以及我需要调整哪些params来实现上述功能,需要调用哪些函数.任何人都可以指出我正确的方向或提供一个例子,说明我应该如何向前推进.

谢谢.

ruby-on-rails devise warden ruby-on-rails-3

5
推荐指数
3
解决办法
3996
查看次数

gcc 中的 -l 选项

我刚开始读这本书:Advanced Programming in Unix Env​​ironment并尝试编译第一个示例代码,就像在这个线程中一样。虽然使用命令解决了编译问题:


gcc -o myls myls.c -I SCADDRESS/include/ -L SCADDRESS/lib/ -lapue

我在 GCC 手册中查了一下,找不到 gcc 选项 -lxxx 是什么意思,其中 xxx 代表头文件的基本名称(在这种情况下,它是 apue.h)。根据手册,xxx 应该是一些库文件,要么以 .so 结尾的共享目标文件,要么以 .a 结尾的静态库。

谁能解释一下?提前谢谢:)

gcc

5
推荐指数
1
解决办法
1万
查看次数

如何向非标准输入元素输入文本

我面临着一个span用于文本输入的元素而不是一个input框,并且我正在努力使用 Watir (Ruby) 来输入文本。没有set方法,有一种text方法可以很好地返回文本,但我似乎无法以这种方式设置文本。

我也尝试过使用span.selectand span.focusthenbrowser.send_keys但该字段中没有输入任何内容。

<div class="UFIAddCommentInput _1osb _5yk1">
  <div class="_5yk2" tabindex="-2">
    <div class="_5rp7">
      <div class="_1p1t">
        <div class="_1p1v">
          Write a reply...
        </div>
      </div>
      <div class="_5rpb">
        <div aria-autocomplete="list" aria-expanded="false" aria-haspopup="false" aria-owns="js_3i" class="_5rpu" contenteditable="true" data-testid="ufi_reply_composer" role="combobox" spellcheck="true" title="Write a reply..." id="js_3j">
          <div data-contents="true">
            <div data-block="true" data-offset-key="8c176-0-0" class="_45m_ _2vxa">
              <span data-offset-key="8c176-0-0">
                <br data-text="true">
                </br>
              </span>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

接下来我可以尝试什么?有没有办法阻止前端设计师使用非标准元素?

watir

5
推荐指数
1
解决办法
1910
查看次数

为什么要使用 zsh 数组参数?

list=(1 2 3)
for i in $list; do echo $i; done;
for i in $list[@]; do echo $i; done;
for i in $list[*]; do echo $i; done;
for i in ${list}; do echo $i; done;
for i in ${list[@]}; do echo $i; done;
for i in ${list[*]}; do echo $i; done;
for i in "${list[@]}"; do echo $i; done;
Run Code Online (Sandbox Code Playgroud)

所有这些都打印相同的内容:

1 
2
3
Run Code Online (Sandbox Code Playgroud)

这些

for i in "$list"; do echo $i; done;
for i in "${list}"; do echo $i; done; …
Run Code Online (Sandbox Code Playgroud)

zsh

5
推荐指数
1
解决办法
1697
查看次数