使用Google Chrome或Firefox,如果我尝试加载以下HTML:
<script crossorigin='anonymous' src='https://stackoverflow.com/foo.js'></script>
Run Code Online (Sandbox Code Playgroud)
我得到这样的CORS错误:
从' https://stackoverflow.com ' 访问' https://stackoverflow.com/foo.js '中的脚本已被CORS策略阻止:没有'Access-Control-Allow-Origin'标题出现在要求的资源......
但是,没有该crossorigin='anonymous'属性的相同标记工作正常(当然会生成404错误,因为foo.js不存在).
这是令人惊讶的,因为anonymous它只是为了防止发送任何凭据,并且脚本标签不应该要求CORS.造成这种情况的原因是什么,我该怎么办?
我正在尝试RSpec并考虑一个只有在测试套件通过时才会改变随机种子的系统.我试图在一个after(:suite)块中实现这个,它在一个块的上下文中执行RSpec::Core::ExampleGroup对象.
虽然RSpec::Core::Example有一个方法"异常"允许您检查是否有任何测试失败,但似乎没有类似的方法RSpec::Core::ExampleGroup或示例列表的任何访问器.那么,我该如何检查测试是否通过或失败?
我知道这可以使用自定义格式化程序来跟踪是否有任何测试失败,但是格式化过程影响测试的实际运行似乎是个坏主意.
如果我url_for在功能规范中调用,它将返回以http://www.example.com/开头的绝对URL .Capybara很乐意尝试在该网站上加载页面,但这与我的应用程序无关.以下是重现问题的最小步骤:
从这个Gemfile开始:
source 'https://rubygems.org'
gem "sqlite3"
gem "jquery-rails"
gem "draper"
gem "rails", '4.1.0'
gem "therubyracer"
gem "uglifier"
gem "rspec-rails"
gem "capybara"
gem "poltergeist"
gem "launchy"
Run Code Online (Sandbox Code Playgroud)
运行以下命令:
bundle
rails new myapp -O
cd myapp
rm Gemfile Gemfile.lock
rails generate controller Test test
rails generate rspec:install
mkdir spec/features
Run Code Online (Sandbox Code Playgroud)
注释掉spec/spec_helper.rb那些说不应该在不使用ActiveRecord时删除它们的行,然后spec/features/feature_spec.rb使用以下内容创建:
require 'capybara/poltergeist'
Capybara.configure do |config|
config.javascript_driver = :poltergeist
end
require 'spec_helper'
describe "nothing", js: true do
specify do
visit(url_for(controller: :test, action: :test))
save_and_open_page
end …Run Code Online (Sandbox Code Playgroud) 我想在Ubuntu 10.04服务器上使用RMagick gem.使用Ubuntu软件包很容易在系统范围内进行librmagick-ruby1.8,但我想使用gem install(或Bundler)将gem安装在私有位置.不幸的是,这会导致错误
Failed to build gem native extension.
除非libmagickcore-dev安装包.谷歌或Stackoverflow搜索"rmagick ubuntu"导致很多人建议安装导致这个安装的各种软件包.这个解决方案的问题是安装该软件包还会将整个X Windows系统作为依赖项引入,这在服务器上显然是不可取的.
这应该是一个常见的问题.所以我想知道是否有人找到了不需要X的解决方案.感谢您的帮助!
使用Rails 4.1.1,使用mysql2适配器:
我正在使用ActiveRecord connection在MySQL表中执行多个插入:
ActiveRecord::Base.connection.execute %Q{
INSERT INTO table (`user_id`, `item_id`)
SELECT 1, id FROM items WHERE items.condition IS NOT NULL
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,完成工作,并返回nil.
有没有办法获得受影响的行数?(避免执行另一个查询)
我发现该execute方法的文档有点稀疏.
ruby ×3
rspec ×2
activerecord ×1
capybara ×1
connection ×1
html ×1
imagemagick ×1
javascript ×1
linux ×1
mysql ×1
poltergeist ×1
rmagick ×1
ubuntu ×1