Ruby

从零开始搭建的Rails 8.0.4应用在执行测试(bin/rails test)时,line_filtering.rb的参数个数不对

我新建了一个Rails项目,并生成了一个模型,具体如下: rails new nonono --css=bootstrap -j esbuild bin/rails g scaffold State name 之后我运行了测试套件 bin/rails test 并出现了以下错误: $> bin/rails test ... # Running: /home/user/.rvm/gems/ruby-3.4.5/gems/railties-8.0.4/lib/rails/test_unit/line_filt

在ActiveRecord查询中使用joins时,出现“RuntimeError: unknown class: Integer (RuntimeError)”错误

我有一个ActiveRecord查询,如下所示: Appn.where(stage: :final) .where('event_time < ?', Time.current) .joins(' meetings ON meetings.application_id = applications.id AND meetings.staff_member_id = ?', staff_member.id ) 但当我尝试访问它产生的结果时(例如调用 .to_a),我看到以下错误: RuntimeError:

Heroku的 Ruby构建包在第二次部署时崩溃

我把Ruby从 Ruby 3.1.7升级到Ruby 3.2.8;之后,我遇到一种情况:在Heroku部署的服务器上首次部署时Ruby bundle能正常工作,但随后的所有部署在bundle install这一步都失败。这个问题在我尝试的两台服务器上都能重现。用多种方式清除缓存都没解决问题,回滚服务器也不能重新部署,带着新改动且清除了缓存的重新部署也没解决问题。问题在本地环境中不会出现,开发/测试环境之间只是多了capybara、pry、rubocop等测试模块。下面是部署推送时遇到的错误: remote:

Ruby中的负Unix时间戳

我有如下的Unix时间戳: time = Time.at(-8_640_000_000_000) # => -271821-04-19 19:00:00 -0500 time.strftime('%B %-d, %Y at %-I:%M %p') # => "April 19, -271821 at 7:00 PM" 但在Discord通过时间戳格式显示同一时间时: # => November 19, 271817 at 7:03 PM 显示的时间戳差异极大。我猜测这

Minitest会抛出ActiveRecord::NotNullViolation

以下错误 ActiveRecord::NotNullViolation: PG::NotNullViolation: ERROR: null value in column "user_id" of relation "promotion_covers" violates not-null constraint 在迁移和数据库指示的情况下,显得有些蹊跷: create_table :promotion_covers do |t| [...] t.references :user, null: true,