为什么C和C++中的基本类型没有像Java那样严格定义,其中a int
始终为4个字节且long
为8个字节等.据我所知,在C和C++中,只有a char
被定义为1个字节,其他所有内容都由不同的编译器定义不同.所以int
在C和C++中,只要它长于a short
并且short
更长,就不一定必须是4个字节char
.
我只是想知道为什么会这样,它有用吗?
我正在尝试阻止在 AWS 存储桶中获取对象的请求。我已经阅读了他们关于存根请求的文档,并且只能存根一个存储桶,而不是一个对象。这是我尝试过的一些事情:
通过 AWS 配置进行存根:
Aws.config[:s3] = {
stub_responses: {
list_buckets: {
buckets: [name: "my-bucket"],
list_objects: [key: "file.pdf"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然它得到了桶,但它没有给我对象。调用s3.buckets
会列出存储桶,但s3.objects
会是空的。
通过 gem 进行存根webmock
:
tempfile = file_fixture('file.pdf').read
base_uri = Regexp.new "https://my-bucket.s3.us-west-1.amazonaws.
stub_request(:get, base_uri).to_return(status: 200, body: tempfile)
Run Code Online (Sandbox Code Playgroud)
这似乎仍然不起作用。调用bucket.objects
仍然返回一个空集合。
我想测试控制器中的代码:
s3 = Aws::S3::Resource.new
bucket = s3.bucket("my-bucket")
@files = {}
bucket.objects.each do |item|
@files[File.basename(item.key)] = item.presigned_url(:get)
end
Run Code Online (Sandbox Code Playgroud)
目标是我想确保我的视图显示变量中对象的链接@file
,并且我想测试该链接。任何帮助将不胜感激!我是使用 AWS S3 进行开发的新手,并且 google 没有提供太多帮助。我正在使用aws-sdk-s3
gem 来处理 AWS S3。
testing ruby-on-rails amazon-s3 amazon-web-services aws-sdk-ruby
我将我的 Rails 应用程序从 5.1.6 更新到 5.2.1,我们secrets
之前使用过。我们想切换到,credentials
因为它应该替换secrets
. 有几件事我想知道:
1)有没有一种“Railsy”的方式来做到这一点?我知道我可以编辑secrets
并将内容复制到 ,credentials
但我不确定这是否是正确的方法,因为我找不到任何关于此的内容。另外,我尝试从中复制加密的内容secrets.yml.enc
并将其粘贴到,credentials.yml.enc
但这不起作用,遇到了一些加密问题。
2)关于第一点,我应该还能secrets
在5.2.1中使用吗?我以为credentials
应该更换,secrets
所以我很惊讶我仍然可以使用secrets
并且我的所有测试都通过了。
感谢您提供任何信息或帮助!
我的用户模型有很多这样的地址:
class User < ApplicationRecord
has_many :addresses, dependent: :destroy
accepts_nested_attributes_for :addresses, allow_destroy: true
end
class Address < ApplicationRecord
belongs_to :user
validates :address_line_1, :city, :state, :zip, presence: true
end
Run Code Online (Sandbox Code Playgroud)
该Address
模型还有一address_type
列表示 awork
或home
地址。
当我试图用错误保存两个地址时,我得到了一些对我来说似乎很奇怪的东西:
a = User.last
a.addresses # This user has both a home and work address
=> #<ActiveRecord::Associations::CollectionProxy #<Address id: 1, address_line_1: "123 Bob St.", city: "Blah", zip: "12345", state: "KY", address_type: "home", user_id: "1">, #<Address id: 2, address_line_1: "123 Jane St.", city: …
Run Code Online (Sandbox Code Playgroud) 昨天我们在临时站点上遇到了这个错误,错误ActionController::UnknownFormat
发生在users/sessions#new
. 这是Bugsnag
显示的请求:
headers: {
"Version": "HTTP/1.0",
"Host": [Our site's IP],
"X-Forwarded-Proto": "https",
"X-Forwarded-For": "128.14.209.154",
"Connection": "close",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
"Accept": "../../../../../../../../../../etc/services{{",
"Accept-Encoding": "gzip"
}
httpMethod: GET
params: {
"controller": "users/sessions",
"action": "new"
}
railsAction: users/sessions#new
referer: null
requestId: 6ecd71ba-31c8-4d55-9199-8e45e3d86246
url: [Our site's IP]
user_id: 128.14.209.154
Run Code Online (Sandbox Code Playgroud)
没有人真正知道发生了什么,据我们所知,目前没有人在该网站上做任何事情。
有几件事让我觉得很奇怪:
Accept
在标题中:“接受”:"../../../../../../../../../../etc/services{{"
user_id: 128.14.209.154
User-Agent
,特别是这样的:(Windows NT …