小编Joe*_*erg的帖子

如何防止Sublime Text 2在启动时打开最后打开的文件/项目

我在Lion上 - 在命令行中,当我使用"subl"打开我的项目时.在我的项目文件夹中 - 它打开了我退出Sublime之前打开的最后一个项目.

我没有选中Max Preference"退出时恢复窗口".

如何防止这种行为?是否有偏好设置?

preference sublimetext

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

HTML5 dragend事件立即触发

我有几个可拖动的元素

<div Class="question-item" draggable="true">Box 1: Milk was a bad choice.</div>
<div class="question-item" draggable="true">Box 2: I'm Ron Burgundy?</div>
<div class="question-item" draggable="true">Box 3: You ate the entire wheel of cheese?     </div>
<div class="question-item" draggable="true">Box 4: Scotch scotch scotch</div>
Run Code Online (Sandbox Code Playgroud)

我有以下事件处理程序:

var $questionItems = $('.question-item');

$questionItems
  .on('dragstart', startDrag)
  .on('dragend', removeDropSpaces)
  .on('dragenter', toggleDropStyles)
  .on('dragleave', toggleDropStyles);


function startDrag(e){
  console.log('dragging...');
  addDropSpaces();
  e.stopPropagation();
}

function toggleDropStyles(){
  $(this).toggleClass('drag-over');
  console.log(this);
}


function addDropSpaces(){
  $questionItems.after('<div class="empty-drop-target"></div>');
}

function removeDropSpaces(){
  console.log("dragend");
  $('.empty-drop-target').remove()
}
Run Code Online (Sandbox Code Playgroud)

为什么它只适用于第一个可拖动的.如果我拖动说最后一个draggable - dragend事件立即被触发.(我不想使用jQuery UI btw)

这对我来说毫无意义 - 它看起来像一个bug.

我在OSX上的Chrome …

html javascript drag-and-drop dom-events

13
推荐指数
3
解决办法
4790
查看次数

如何激活Twitter Bootstrap Affix组件的链接?

我正在使用Twitter Bootstrap Affix JS组件.当我向下滚动页面时,我的UL列表正确粘贴.此外 - 当我点击单个列表项(很像Twitter在其文档页面上)时,它会向下滚动到我的文档中的锚点ID,但LI元素不会收到Twitter"活动"类.当我滚动文档时,它也没有得到"主动"课程.

当我滚动到文档中的特定部分时,我希望相应的链接处于活动状态(很像滚动间谍工作),但我似乎无法使其工作.

我需要设置一些特殊的东西,以便Bootstrap在适当的时候添加"活动"类吗?

jquery-plugins twitter-bootstrap

12
推荐指数
1
解决办法
7473
查看次数

默认情况下如何使用字符串键创建哈希

当我执行以下操作时:

h = { "a": 123 }
Run Code Online (Sandbox Code Playgroud)

Ruby/Rails会自动将密钥转换为符号.

h[:a]  # => 123
h["a"] # => nil
Run Code Online (Sandbox Code Playgroud)

我该如何防止这种行为?我用字符串键创建了哈希,并希望保持这种方式而不必总是调用Hash#stringify_keys.

ruby string syntax symbols ruby-on-rails

12
推荐指数
4
解决办法
8078
查看次数

Rails simple_form复选框用于序列化数组字段

我正在使用SimpleForm来构建我的表单.

我说的是以下型号:

class ScheduledContent < ActiveRecord::Base
    belongs_to :parent
    attr_accessible :lots, :of, :other, :fields
    serialize :schedule, Array
end
Run Code Online (Sandbox Code Playgroud)

我想构建一个表单,其中包含许多其他字段和关联(此模型实际上已经是has_many关联的一部分 - 所以非常复杂的形式)用户被呈现可变天数(例如第1天,第2天,第3天等) - 每天都可以选中或取消选中.因此,如果用户检查第1天,第5天说 - 我想在计划字段中存储[1,5].在表单之前 - 我可以构建一个可供选择的简单数组,包括显然已经选择的日期.

使用SimpleForm的表单助手表示此表单的最佳方法是什么?如果不可能这样做 - 我也可以使用Rails的表单助手来使其工作,但我的偏好是SimpleForm,因为表单的其余部分已经使用SimpleForm构建.

form-helpers ruby-on-rails-3 simple-form

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

如何让nginx等待我的上游服务在Docker Swarm中启动?

我将nginx代理服务和rails应用服务部署到docker swarm中.nginx依赖于我的docker-compose文件中的应用程序.

我的nginx.conf文件将流量定向到我的上游应用服务(在端口3000上公开),如此(仅显示上游部分).

upstream puma {
  server app:3000;
}
Run Code Online (Sandbox Code Playgroud)

我的docker-compose文件看起来像这样:

version: '3.1'

services:

  app:
    image: my/rails-app:latest
    networks:
      - proxy

  web:
    image: my/nginx:1.11.9-alpine
    command: /bin/sh -c "nginx -g 'daemon off;'"
    ports:
      - "80:80"
    depends_on:
      - app
    networks:
      - proxy


networks:

  proxy:
    external: true
Run Code Online (Sandbox Code Playgroud)

我的主机设置为群体管理器.

这一切都很好 - 没有问题.

但是,即使我在docker-compose文件中有一个depends部分 - 在nginx服务启动时,app服务可能还没有完全准备好(?),所以当上游服务配置部分尝试DNS解析"app: 3000",似乎没有完全找到它.因此,当我访问我的网站时,我在我的nginx日志中发现以下错误消息:

2017/02/13 10:46:07 [error] 8#8: *6 connect() failed (111: Connection refused) while connecting to upstream, client: 10.255.0.3, server: www.mysite.com, request: "GET / HTTP/1.1", upstream: "http://127.0.53.53:3000/", host: …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails nginx docker-swarm-mode

8
推荐指数
2
解决办法
2547
查看次数

在Marionette CollectionView中,如何将模型的索引(在集合中)传递给ItemView?

我有一个CollectionView

class MyCollectionView extends Backbone.Marionette.CollectionView
  itemView: MyItemView

  itemViewOptions: ->
    {
      indexInCollection: ?
    }
Run Code Online (Sandbox Code Playgroud)

我希望MyItemView知道它的模型所在的集合中的哪个索引.

我想,在MyItemView中,我可以通过它找到它

@model.collection.indexOf(@model)
Run Code Online (Sandbox Code Playgroud)

但是有没有办法使用一些内部的Marionette机制将它从我的Marionette CollectionView直接传递到MyItemView中?这个指数已经暴露在某个地方吗?

marionette

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

为什么我的迭代器再次升级?

我有以下程序 - 我使用genny.js来处理异步流控制 - 我尝试了与suspend.js相同 - 类似的错误.

我正在使用Stripe nodejs API.

我的迭代器函数似乎被调用了两次 - 这导致了一个错误 - 我不明白为什么它会被调用两次.它一定是一个我没有看到的简单的头脑技巧.

var genny = require('genny')
genny.longStackSupport = true

var stripe = require("stripe")("sk_live_....")

fetchCharges = genny.fn(function* (d) {
  console.log("Before fetchCharges")
  var charges = yield fetchList(d())
  console.log("After fetchCharges - found ", charges.length)
  return true
})

fetchList = genny.fn(function* (done) {
  console.log("before fetchList")
  var results = yield stripe.charges.list({}, done())
  console.log("after fetchList")
  return results.data
})

genny.run(function* (resume) {
  console.log('before run')
  yield fetchCharges(resume())
  console.log('after run')
})
Run Code Online (Sandbox Code Playgroud)

控制台输出是:

> node --harmony genny.js …
Run Code Online (Sandbox Code Playgroud)

generator node.js promise stripe-payments ecmascript-6

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

使用 puppeteer 生成 PDF 时,“break-inside:避免”被忽略

我正在使用 puppeteer v 5.2.1 从网页生成多页 PDF。

我使用以下命令来确保该块元素不会在分页符处被切断:

.wrapper {
    display: block;
    float: left;
    break-inside: avoid;
}
Run Code Online (Sandbox Code Playgroud)

我已经使用 @page 设置了其他分页媒体内容,以查看 Puppeteer 可以处理分页媒体。

但我的块元素仍然被切断?

Pupetteer 正在模拟屏幕。尽管当它使用默认的打印仿真时,我得到了相同的结果。

我的设置中缺少什么吗?

puppeteer

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

如何在我的资产管道中剔除 jquery?

我正在使用 Rails 3.2 和 jquery-ui-rails 插件将日期选择器添加到我的 JS 清单文件中。

这是我的清单文件:

//= require jquery_ujs
//= require jquery.ui.datepicker
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

我将我的 jQuery 库与 Google 的 CDN 分开。

但是,通过将 jquery.ui 添加到清单文件中,它会自动包含其 jQuery 依赖项 - 所以现在我在最终的 HTML 文档中得到了两个 jQueries。

我不想要这个额外的 jQuery 文件——我只想要来自 Google 的 CDN 的那个。使用链轮,我可以使用 stub 指令有选择地“排除”jQuery 文件。

所以这就是我所做的 - 它不起作用 - 即 jQuery 仍然添加到我的最终 JS 文件中......

//= stub jquery
//= require jquery_ujs
//= require jquery.ui.datepicker
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

我尝试了几种组合:

//= stub jquery.js

//= stub "jquery"

//= stub "jquery.js"

//= stub "/jquery.js"
Run Code Online (Sandbox Code Playgroud)

等等 …

ruby-on-rails sprockets asset-pipeline

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

更改路由时更新单页应用程序上的“service-worker.js”

我有一个create react app SPA,并且我已经使用注册的service-worker.js(Cache-Control: max-age=0)部署了它

一切正常:当我更新我的代码并重新部署时,离开我的网站(或关闭页面)并返回我的网站时,service-worker.js文件会再次下载。它缓存我的 index.html 文件,其中包含我的 app.HASH.js 文件的 url。它通知我有新内容可用,我刷新了浏览器页面,现在我正在运行我的最新应用程序版本。

不起作用的是:当我导航到 SPA 内的不同部分时,我使用react-router来更改 URL。“url-changes”不会触发我的service-worker.js文件的重新加载(它使用 max-age=0 缓存 - 我已经用 curl -I 确认了这一点)。因此,永远不会下载新工作人员以最终通知我有新内容可用并且我需要刷新。

我不确定预期的行为应该是什么。如果react-router更改了 URL - 这不应该触发重新加载service-woker.js它设置为不缓存本身的时间吗?

reactjs service-worker react-router-v4

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

如何使用作用域质量分配来种子Rails 3.1应用程序

Rails 3.1(RC4)和作用域质量分配如何在加载数据列表时使用seeds.rb.

例如.我通常有类似的东西:

City.create([
  { :name => 'Chicago' }, 
  { :name => 'Copenhagen' }, 
  ...
]) 
Run Code Online (Sandbox Code Playgroud)

这创造了超过100个城市.由于City模型具有范围的质量分配,因此不再起作用:as => :admin.

据我所知,该.create()方法不允许我们投入:as => :admin.只有.new().update_attributes()使我们能够做到这一点:as => :admin.

所以做(像下面这样的)很麻烦(特别是对于100多条记录):

city1 = City.new({ :name => 'Chicago' }, :as => :admin)
city1.save
city2 = City.new({ :name => 'Copenhagen' }, :as => :admin)
city2.save
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

mass-assignment ruby-on-rails-3 ruby-on-rails-3.1 scoped-mass-assignment

4
推荐指数
1
解决办法
1636
查看次数

触发Backbone模型事件不会在我的Jasmine间谍中注册

我试图测试当我的模型触发事件时调用视图方法.但这不起作用 - 我已经没想到为什么会这样.这是不起作用的代码:

视图:

class View extends Backbone.View
  initialize: ->
    @.listenTo @model, 'request', @disableForm, @

  disableForm: ->
    console.log 'disableForm'
Run Code Online (Sandbox Code Playgroud)

茉莉花测试:

describe "AJAX events", ->

  it "when starting an AJAX request, disable the form", ->
    model = new Backbone.Model()
    view = new Backbone.View( { model: model })
    view.render()

    spyOn(view, 'disableForm')
    view.delegateEvents()

    model.trigger 'request'
    expect(view.disableForm).toHaveBeenCalled()
Run Code Online (Sandbox Code Playgroud)

此代码在浏览器中正常工作.

另外 - 当我运行测试时,console.log会打印'disableForm' - 所以模型事件触发了对disableForm的调用,但是我的间谍没有选择它(我的期望失败).我已经尝试将它放入waitsFor方法,但他也没有什么区别.

我出错的任何想法?

testing backbone.js jasmine

3
推荐指数
1
解决办法
1808
查看次数