我正在开始一个新项目,我的第一个使用Rails 5.1.0.我有一个pb与我的第一个请求规范.
describe 'Users', type: :request do
it 'are created from external data' do
json_string = File.read('path/to/test_data/user_data.json')
params = { user: JSON.parse(json_string) }
headers = { "CONTENT_TYPE" => "application/json" }
expect do
post '/api/v1/users', params.to_s, headers
end.to change {
User.count
}.by(1)
expect(response.status).to eq 200
end
end
Run Code Online (Sandbox Code Playgroud)
此规范返回错误ArgumentError: wrong number of arguments (given 3, expected 1).在官方文档不说过多.
如果我取出.to_s,并发送一个哈希,如下所示:
post '/api/v1/users', params, headers
Run Code Online (Sandbox Code Playgroud)
我有另一个错误:
ArgumentError: unknown keyword: user
Run Code Online (Sandbox Code Playgroud)
任何想法?
如何在 ActiveAdmin 表单中设置与表属性不对应的文本字段?
我需要它来构建自动完成行为,以填充复选框列表。
我刚刚将 Rspec 从 3.6.0 升级到 3.7.0,将 rspec-rails 从 3.6.1 升级到 3.7.1。我在 rails 5.1 应用程序中使用这些库。
自从这次升级以来,这发生在我的规范套件中:
它没有链接到特定的规格,它显示在随机位置。
看起来 rspec 配置中发生了一些变化,但我在更改日志中找不到它。
在 Rails 5.2 应用程序中,我想显示之前通过 Active Storage 在 S3 中上传的视频。当我使用这个时:
<%= video_tag [@banner_video.video_mp4, @banner_video.video_webm] %>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
The asset "" is not present in the asset pipeline.
Run Code Online (Sandbox Code Playgroud)
我检查了控制台,我的变量 @banner_video 正是我认为应该是的。
我刚刚创建了一个新的Rails 6应用程序。一切正常,直到我尝试使用启动本地服务器rails s,并收到以下错误消息:
RAILS_ENV=development environment is not defined in config/webpacker.yml, falling back to production environment
Exiting
Run Code Online (Sandbox Code Playgroud)
和
Webpacker configuration file not found /Users/remy/dev/voter/config/webpacker.yml. Please run rails webpacker:install Error: No such file or directory @ rb_sysopen - /Users/remy/dev/voter/config/webpacker.yml (RuntimeError)
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时,rails webpacker:install我仍然有错误。
我正在使用 wicked_pdf gem,目前正在尝试加快我的规范套件的速度。
我意识到我的一些规范正在我的 tmp 文件夹中生成 PDF,这非常耗时。
有没有办法完全存根 wicked_pdf 生成,因此它实际上不会生成 PDF?