我正在使用自动保存回原始文件作为我的组织模式,但我只希望它适用于此模式而不是其他任何东西.那很容易吗?
这是我的组织模式选项
;; 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
在我的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) 我在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,但这没有帮助.
我有一个自定义绑定来处理自动完成,当用户从自动完成中选择一个项目时,我会与服务器通信并用缩短的名称替换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时再次触发自定义绑定'更新'功能.
我刚刚升级到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) 我刚刚升级了我的整个发行版,我正在尝试使用以前的设置来设置我的 emacs,当使用我的“magit”插件并输入“Mx magit-status”时,我收到以下错误:
\n\nRecursive `require\' for feature `magit-simple-keys\'\nRun 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) 我正在使用 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) 我正在尝试使用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) 我有一个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) 我在我的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) ruby ×3
emacs ×2
angularjs ×1
autosave ×1
capybara ×1
chef-infra ×1
coffeescript ×1
cucumber ×1
forms ×1
javascript ×1
knockout.js ×1
nested-forms ×1
org-mode ×1
postgresql ×1
rspec ×1
selenium ×1
time ×1
validation ×1