小编map*_*ap7的帖子

emacs仅为组织模式自动保存

我正在使用自动保存回原始文件作为我的组织模式,但我只希望它适用于此模式而不是其他任何东西.那很容易吗?

这是我的组织模式选项

;; Org-mode options
(add-hook 'org-mode-hook
          'turn-on-visual-line-mode
          'auto-save-mode)
(add-hook 'org-mode-hook '(lambda()
                (setq auto-save-visited-file-name t)
                (setq auto-save-interval 20)))
Run Code Online (Sandbox Code Playgroud)

注意:有关我的完整配置,请参阅https://github.com/map7/simple_emacs

emacs autosave org-mode

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

rails大写check_box_tag条目

在我的rails 3.0应用程序中,我有一组check_box_tags,每个都有一个标签.我希望这些复选框的标签能够保留它们的情况.

EG:'学校/学院'标签变成'学校/学院',任何缩写如'RAAF'在check_box_tag中使用时变成'Raaf'.这是我正在使用的代码:

%h2 Chaplains
- for chaplain in Chaplain.all
= check_box_tag "clergy[chaplain_ids][]",chaplain.id,@clergy.chaplains.include?(chaplain)
= f.label chaplain.name
%br
Run Code Online (Sandbox Code Playgroud)

forms ruby-on-rails

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

rspec显示负时间

我在ruby 1.9.3p0上使用rspec 2.8.1运行rails 3.2.1,并且在运行我的测试时它显示负时间值.这很烦人,因为我正在尝试优化我的测试.

Running: spec/models/transaction_spec.rb
................................................

Finished in -7603162.49414 seconds
Run Code Online (Sandbox Code Playgroud)

我已经尝试将rspec更新到2.9.0,但这没有帮助.

ruby time rspec

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

Knockout.js - 如何限制自定义绑定

我有一个自定义绑定来处理自动完成,当用户从自动完成中选择一个项目时,我会与服务器通信并用缩短的名称替换text_field.问题是这会第二次触发我的自定义绑定的"更新"功能.

Knockout.js代码(编辑:注意以下是CoffeeScript):

ko.bindingHandlers.ko_autocomplete =
  init: (element, params) ->
    $(element).autocomplete(params())

  update: (element, valueAccessor, allBindingsAccessor, viewModel) ->
    unless task.name() == undefined
      $.ajax "/tasks/name",
        data: "name=" + task.name(),
        success: (data,textStatus, jqXHR) ->
          task.name(data.short_name)


  Task = ->
    @name = ko.observable()
    @name_select = (event, ui) ->
      task.name(ui.item.name)
      false  

  task = Task.new()
Run Code Online (Sandbox Code Playgroud)

视图

= f.text_field :name, "data-bind" => "value: name, ko_autocomplete: { source: '/autocomplete/tasks', select: name_select }"
Run Code Online (Sandbox Code Playgroud)

有没有办法将油门应用于自定义绑定?

我只想在将task.name设置为从服务器发回的short_name时再次触发自定义绑定'更新'功能.

knockout.js ko-custom-binding

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

Rails黄瓜未定义的方法`config'为nil:NilClass(NoMethodError)

我刚刚升级到ruby 1.9.3-p125(从1.9.3-p0开始).所有测试在升级之前都有效.现在,在运行rake功能时出现以下错误

Using the default profile...
undefined method `config' for nil:NilClass (NoMethodError)
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-rails-1.3.0/lib/cucumber/rails.rb:17:in `<top (required)>'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/bundler-1.1.3/lib/bundler/runtime.rb:74:in `require'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/bundler-1.1.3/lib/bundler/runtime.rb:74:in `rescue in block in require'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/bundler-1.1.3/lib/bundler/runtime.rb:62:in `block in require'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `each'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `require'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/bundler-1.1.3/lib/bundler.rb:119:in `require'
/home/map7/pais/config/application.rb:7:in `<top (required)>'
/home/map7/pais/config/environment.rb:2:in `require'
/home/map7/pais/config/environment.rb:2:in `<top (required)>'
/home/map7/pais/features/support/env.rb:8:in `require'
/home/map7/pais/features/support/env.rb:8:in `<top (required)>'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/rb_support/rb_language.rb:129:in `load'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/rb_support/rb_language.rb:129:in `load_code_file'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:171:in `load_file'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:82:in `each'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:82:in `load_files!'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/runtime.rb:175:in `load_step_definitions'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/runtime.rb:40:in `run!'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/cli/main.rb:43:in `execute!'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/lib/cucumber/cli/main.rb:20:in `execute'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/cucumber-1.1.9/bin/cucumber:14:in `<top (required)>'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/bin/cucumber:19:in `load'
/home/map7/.rvm/gems/ruby-1.9.3-p194@rails3.2/bin/cucumber:19:in `<main>'
rake aborted!
Command failed with …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails cucumber

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

emacs 24.x 功能“magit-simple-keys”的递归“require”

我刚刚升级了我的整个发行版,我正在尝试使用以前的设置来设置我的 emacs,当使用我的“magit”插件并输入“Mx magit-status”时,我收到以下错误:

\n\n
Recursive `require\' for feature `magit-simple-keys\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的配置(.emacs.d/init.el)

\n\n
(require \'package)\n(add-to-list \'package-archives \'("elpa" . "http://tromey.com/elpa/"))\n(add-to-list \'package-archives\n             \'("marmalade" . "http://marmalade-repo.org/packages/") t)\n(package-initialize)\n(setq required-packages\n      (list \'mwe-log-commands \'drag-stuff \'flymake-ruby \'flymake-haml \'regex-tool \'mic-paren \'highline \'android-mode \'css-mode \'csv-mode \'apache-mode \'crontab-mode \'emms \'switch-window \'multi-term \'undo-tree \'rvm \'auto-complete \'yasnippet-bundle \'ruby-electric \'rinari \'inf-ruby \'coffee-mode \'yaml-mode \'feature-mode \'scss-mode \'haml-mode \'magit-simple-keys))\n(dolist (package required-packages)\n  (when (not (package-installed-p package))\n    (package-refresh-contents)\n    (package-install package)))\n\n;; Setup external directory variable\n(setq elisp-dir\n      (expand-file-name "elisp" user-emacs-directory))\n(setq elisp-external-dir\n      (expand-file-name "external" elisp-dir))\n\n;; Add external projects to load path\n(add-to-list …
Run Code Online (Sandbox Code Playgroud)

emacs

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

accepts_nested_attributes_for 验证

我正在使用 Rails 2.3.8 并接受_nested_attributes_for。

我有一个简单的类别对象,它使用 awesome_nested_set 来允许嵌套类别。

对于每个类别,我想要一个名为 code 的唯一字段。对于每个级别的类别,这将是唯一的。这意味着父类别都将具有唯一的代码,子类别在其自己的父类别中将是唯一的。

例如:

code name
1    cat1
   1 sub cat 1
2    cat2
   1 sub cat 1
   2 sub cat 2
3    cat3
   1 sub1
Run Code Online (Sandbox Code Playgroud)

这无需验证过程即可工作,但是当我尝试使用以下内容时:validates_uniqueness_of :code, :scope => :parent_id

这将不起作用,因为尚未保存父级。

这是我的模型:

class Category < ActiveRecord::Base
  acts_as_nested_set
  accepts_nested_attributes_for :children, :reject_if => lambda { |a| a[:name].blank? }, :allow_destroy => true

  default_scope :order => "lft"

  validates_presence_of :code, :name, :is_child
  validates_uniqueness_of :code, :scope => :parent_id
end
Run Code Online (Sandbox Code Playgroud)

我已经想到了一种不同的方法来做到这一点,它非常接近工作,问题是我无法检查子类别之间的唯一性。

在第二个示例中,我在名为“is_child”的表单中嵌入了一个隐藏字段,以标记该项目是否为子类别。这是我的这个模型的例子:

class Category < ActiveRecord::Base
  acts_as_nested_set
  accepts_nested_attributes_for :children, …
Run Code Online (Sandbox Code Playgroud)

validation ruby-on-rails nested-forms

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

chef-solo:在postgresql之前安装build-essential配方

我正在尝试使用chef-solo在我的服务器上安装postgresql.我通过自己做引导程序并在脚本中手动包含build-esential包来完成这项工作.现在我想使用knife-solo来处理引导,我在定义执行配方的顺序时遇到了问题.

我想在postgresql之前安装build-essential软件包.这是我正在建立的服务器的json文件

{
    "dbuser": "myuser",
    "dbpass": "mypassword",

    "postgresql":{"password":{"postgres":"mypassword"}},
    "passenger":{"version":"3.0.14", "max_pool_size":"2"},
    "default_attributes":{"build_essential":{"compiletime": "true"}},

    "run_list": [ 
        "recipe[build-essential]",
        "role[web_server]",
        "recipe[sqlite]",
        "recipe[postgresql::server]",
        "recipe[pope::default]"
    ]

}
Run Code Online (Sandbox Code Playgroud)

当我发出命令

knife cook <user>@<my server's ip>
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

WARNING: No knife configuration file found
Checking cookbook syntax...
Checking Chef version
Enter the password for test@<my server's ip>: 

[2012-10-29T16:14:44+11:00] INFO: *** Chef 10.16.2 ***
[2012-10-29T16:14:45+11:00] INFO: Setting the run_list to ["recipe[build-essential]", "role[web_server]", "recipe[sqlite]", "recipe[postgresql::server]", "recipe[mysettings::default]"] from JSON
[2012-10-29T16:14:45+11:00] INFO: Run List is [recipe[build-essential], role[web_server], recipe[sqlite], recipe[postgresql::server], recipe[pope::default]]
[2012-10-29T16:14:45+11:00] INFO: Run List …
Run Code Online (Sandbox Code Playgroud)

ruby postgresql chef-infra

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

Angularjs访问另一个工厂的方法

我有一个AngularJS模型,我在其中创建了一个名为myService的模块,用于保存我在整个应用程序中使用的一些常用代码.我的普通工厂是我一直在添加所有方法的地方,现在我想把它拆分并给它们好名字.

我的很多方法互相调用,所以如何调用另一个工厂的方法呢?

angular.module('myService', ['ngResource'])
  .factory('test2', ($window) ->
    return {
      foobar: () ->
        Common.test()
    }
  )  
  .factory('Common', ($window) ->
    return {
      test: () ->
        alert 'testing'
    }
  )
Run Code Online (Sandbox Code Playgroud)

javascript coffeescript angularjs

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

使用水豚和硒的Chrome无头下载pdf

我在我的Ruby on Rails(5.2.1)项目中使用了带有Selenium(3.14.0)和Capybara(3.8.0)的chrome headless,我有一个测试工作在Non-headless chrome但不在无头chrome中.我在谷歌Chrome稳定版69上使用'--headless'标志.

我用以下设置我的无头镀铬,这适用于所有不下载文件的测试.

download_path="#{Rails.root}/tmp/downloads"

Capybara.register_driver(:headless_chrome) do |app|
  caps = Selenium::WebDriver::Remote::Capabilities.chrome(
    chromeOptions: {
      prefs: {
        'download.default_directory' => download_path,
        "download.extensions_to_open" => "applications/pdf",
        'download.directory_upgrade' => true,
        'download.prompt_for_download' => false,
        'plugins.plugins_disabled' => ["Chrome PDF Viewer"]
      },
      binary: "/opt/google/chrome/google-chrome",
      args: %w[headless disable-gpu window-size=1920,1080]
    }
  )
  Capybara::Selenium::Driver.new(
    app,
    browser: :chrome,
    desired_capabilities: caps
  )
end
Run Code Online (Sandbox Code Playgroud)

我已经读过我应该向selenium chrome驱动程序发送命令以允许下载,但我无法弄清楚如何使用我的设置.这是我想要的工作,但我的设置; (不是来自我的代码库);

@driver = Selenium::WebDriver.for :chrome, options: options

bridge = @driver.send(:bridge)
path = '/session/:session_id/chromium/send_command'
path[':session_id'] = bridge.session_id
bridge.http.call(:post, path, cmd: 'Page.setDownloadBehavior',
                 params: {
                   behavior: 'allow',
                   downloadPath: download_path
                 }) …
Run Code Online (Sandbox Code Playgroud)

selenium ruby-on-rails capybara google-chrome-headless

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