【问题标题】:rails create element fail with wrong number of arguments (given 1, expected 0)rails 创建元素失败,参数数量错误(给定 1,预期为 0)
【发布时间】:2016-12-15 05:36:38
【问题描述】:

我最近做了一个“旧”的 Rails 项目

我运行 bundle install 并使用 json 1.8.0 给我错误,然后使用 bundle updatebundle install 修复它

然后运行rake db:schema:load

当我运行rake db:seed 时给出错误:

ArgumentError:参数数量错误(给定 1,预期 0)

我删除了seeds.rb 的所有行,只创建了一个,但同样的错误失败

同时打开一个控制台(rails 控制台)并尝试使用不同的模型创建两个并失败

irb(main):002:0> Group.create( name: "Test" )
   (0.5ms)  BEGIN
   (0.2ms)  ROLLBACK
ArgumentError: wrong number of arguments (given 1, expected 0)
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/connection_adapters/postgresql/database_statements.rb:160:in `initialize'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/connection_adapters/postgresql/database_statements.rb:160:in `new'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/connection_adapters/postgresql/database_statements.rb:160:in `substitute_at'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/relation.rb:99:in `block in substitute_values'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/relation.rb:98:in `each'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/relation.rb:98:in `each_with_index'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/relation.rb:98:in `substitute_values'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/relation.rb:58:in `insert'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/persistence.rb:521:in `_create_record'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/counter_cache.rb:139:in `_create_record'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/attribute_methods/dirty.rb:122:in `_create_record'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/callbacks.rb:306:in `block in _create_record'
    from /var/lib/gems/2.3.0/gems/activesupport-4.2.0.beta2/lib/active_support/callbacks.rb:83:in `run_callbacks'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/callbacks.rb:306:in `_create_record'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/timestamp.rb:57:in `_create_record'
    from /var/lib/gems/2.3.0/gems/activerecord-4.2.0.beta2/lib/active_record/persistence.rb:501:in `create_or_update'
... 23 levels...
    from /var/lib/gems/2.3.0/gems/railties-4.2.0.beta2/lib/rails/commands/console.rb:9:in `start'
    from /var/lib/gems/2.3.0/gems/railties-4.2.0.beta2/lib/rails/commands/commands_tasks.rb:68:in `console'
    from /var/lib/gems/2.3.0/gems/railties-4.2.0.beta2/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /var/lib/gems/2.3.0/gems/railties-4.2.0.beta2/lib/rails/commands.rb:17:in `<top (required)>'
    from /var/lib/gems/2.3.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require'
    from /var/lib/gems/2.3.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `block in require'
    from /var/lib/gems/2.3.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:233:in `load_dependency'
    from /var/lib/gems/2.3.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require'
    from /home/inye/Escritorio/zembia/aiurveda/bin/rails:8:in `<top (required)>'
    from /var/lib/gems/2.3.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:242:in `load'
    from /var/lib/gems/2.3.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:242:in `block in load'
    from /var/lib/gems/2.3.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:233:in `load_dependency'
    from /var/lib/gems/2.3.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:242:in `load'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'

【问题讨论】:

  • 尝试将 rails 更新为 4.2.7。好像是a beta bug
  • 谢谢@max,问题解决了。你找谁?我经常用谷歌搜索。
  • 如果您从堆栈跟踪的顶行通常会给出相关结果。
  • 谢谢。你会发布一个回答吗?
  • 既然你解决了,你可以自己回答:)

标签: ruby-on-rails rake


【解决方案1】:

根据@max 评论的解决方案是:

  1. 在 Gemfile 中更改 rails 版本

gem 'rails', '4.2.0.beta2'gem 'rails', '4.2.7'

  1. 运行bundle update rails

问题解决了!

【讨论】:

    猜你喜欢
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    相关资源
    最近更新 更多