小编pdg*_*137的帖子

使用<script crossorigin ='anonymous'>,为什么脚本"被CORS策略阻止"?

使用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.造成这种情况的原因是什么,我该怎么办?

html javascript

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

如何检查RSpec测试套件中的故障?

我正在尝试RSpec并考虑一个只有在测试套件通过时才会改变随机种子的系统.我试图在一个after(:suite)块中实现这个,它在一个块的上下文中执行RSpec::Core::ExampleGroup对象.

虽然RSpec::Core::Example有一个方法"异常"允许您检查是否有任何测试失败,但似乎没有类似的方法RSpec::Core::ExampleGroup或示例列表的任何访问器.那么,我该如何检查测试是否通过或失败?

我知道这可以使用自定义格式化程序来跟踪是否有任何测试失败,但是格式化过程影响测试的实际运行似乎是个坏主意.

ruby rspec

7
推荐指数
1
解决办法
1100
查看次数

在Rails/Capybara/Poltergeist规范中使用url_for将驱动程序发送到example.com而不是app

如果我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)

ruby rspec ruby-on-rails capybara poltergeist

7
推荐指数
2
解决办法
1539
查看次数

在Ubuntu服务器上安装ruby RMagick gem而不安装X.

我想在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的解决方案.感谢您的帮助!

ruby linux ubuntu rmagick imagemagick

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

ActiveRecord :: Base.connection.execute受影响的行

使用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方法的文档有点稀疏.

mysql connection activerecord ruby-on-rails-4

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