ArgumentError:Update_Attribute 方法的参数数量错误(给定 1,预期为 2)

希瑟·克洛伊

我正在创建一个重复性事件应用程序,某些用户(流媒体)可以在其中安排每周重复性事件(流媒体),其他用户(观众)可以关注它们。结果是个性化的每周日历,详细说明所有关注的主播活动的开始和结束时间。

在此处输入图片说明

但是,由于观众可以关注无限数量的主播,因此生成的日历看起来像是一团糟。因此,我在关系表中添加了一个布尔属性,指示该关系是否已被收藏。

  create_table "relationships", force: :cascade do |t|
    t.integer "follower_id"
    t.integer "followed_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "favorited", default: false
    t.index ["followed_id"], name: "index_relationships_on_followed_id"
    t.index ["follower_id", "followed_id"], name: "index_relationships_on_follower_id_and_followed_id", unique: true
    t.index ["follower_id"], name: "index_relationships_on_follower_id"
  end

这样,观众将拥有第二个个性化日历,该日历将仅显示最喜欢的主播的活动。

我已经有一个关注和取消关注方法,可以成功地创建和破坏查看者和主播之间的关系,但是我无法成功地将现有关系从不喜欢更新为收藏。

test "should favorite and unfavorite a streamer" do
    yennifer = users(:yennifer)
    cirilla = users(:cirilla)
    yennifer.follow(cirilla)
    yennifer.favorite(cirilla)     #user_test.rb:151
end

测试套件返回以下错误,我无法弄清楚缺少的参数是什么。

["test_should_favorite_and_unfavorite_a_streamer", #<Minitest::Reporters::Suite:0x0000000006125da8 @name="UserTest">, 0.16871719993650913]
 test_should_favorite_and_unfavorite_a_streamer#UserTest (0.17s)
ArgumentError:         ArgumentError: wrong number of arguments (given 1, expected 2)
            app/models/relationship.rb:11:in `favorite'
            app/models/user.rb:124:in `favorite'
            test/models/user_test.rb:151:in `block in <class:UserTest>'

  27/27: [=================================] 100% Time: 00:00:01, Time: 00:00:01

Finished in 1.82473s
27 tests, 71 assertions, 0 failures, 1 errors, 0 skips

用户名

# Follows a user
def follow(other_user)
    active_relationships.create(followed_id: other_user.id)
end

# Unfollows a user
def unfollow(other_user)
    active_relationships.find_by(followed_id: other_user.id).destroy
end

def favorite(other_user)
    active_relationships.find_by(followed_id: other_user.id).favorite     #user.rb:124
end

def unfavorite(other_user)
    active_relationships.find_by(followed_id: other_user.id).unfavorite
end

关系.rb

def favorite
    update_attribute(favorited: true)     #relationship.rb:11
end

def unfavorite
    update_attribute(favorited: false)
end

有人可以帮助我确定缺少的论点并解决这个问题。谢谢你。

armont_development

这个答案的第一条评论是正确的,所以我不知道为什么这个人作为评论而不是答案发布。update_attribute 有两个参数,你传递给它一个散列参数。你“最喜欢”的方法相当于update_attribute({favorited: true})你真正想要的时候update_attribute(:favorited, true)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Jekyll:参数数量错误(给定2个,预期为1个)(ArgumentError)

来自分类Dev

Docker运行产生错误``初始化'':错误的参数数量(给定2个,预期为1个)(ArgumentError)

来自分类Dev

运行 Rspec 和 Sinatra 时,我不断收到 ArgumentError:参数数量错误(给定 2,预期为 0)

来自分类Dev

最小测试错误-ArgumentError:参数数量错误(给定1,预期为0)

来自分类Dev

发生 WebSocket 错误:参数数量错误(给定 2,预期为 1)

来自分类Dev

Active Record Destroy ArgumentError(错误的参数数量(给定1,预期为0)):

来自分类Dev

fastlane 脚本中的参数数量错误(给定 0,预期为 1)(ArgumentError)

来自分类Dev

Rails:参数数量错误(给定2个,预期为1个)MongoID

来自分类Dev

生成的RSpec控制器测试失败,参数数量错误(给定2个,预期为1个)

来自分类Dev

控制器规范中的参数数量错误(给定 2,预期为 0)

来自分类Dev

ArgumentError异常:当我尝试上传图像时,参数数目错误(给定2个,预期为1个)(Rails 4; paperclip 5; paperclip-meta)

来自分类Dev

#<ArgumentError:错误的参数数量(1为2)>在admin.rb:32:in'kick'中

来自分类Dev

为什么此create语句给出错误“ ArgumentError:错误的参数数量(1表示2)”?

来自分类Dev

RSpec-如何修复-ArgumentError:错误的参数数量(给定0,应为1)-Ruby

来自分类Dev

错误的参数数量(2为1)RoR错误

来自分类Dev

错误的参数数量(1表示2)

来自分类Dev

ActiveRecord.find错误的参数数量2为1

来自分类Dev

内部服务器错误,以1ms为单位(ActiveRecord:0.0ms)ArgumentError(错误的参数数量(2为1)):

来自分类Dev

最喜欢的操作出现错误:参数数量错误(给定1,预期为0)?

来自分类Dev

Ruby on Rails:参数数量错误(给定 0,预期为 1)

来自分类Dev

Ruby:错误:当我给出正确数量的参数时,参数数量错误(给定 1,预期为 0)

来自分类Dev

使用Rspec测试使用错误数量的参数(给定2个,预期为1个)的get:index测试失败

来自分类Dev

Geocoder:ArgumentError:参数数量错误(0..1为3)

来自分类Dev

Rails:参数数目错误(给定1,预期为0)

来自分类Dev

更新方法的参数数量错误(1表示2)

来自分类Dev

Rails错误的参数数量(1代表0),SubscribeController#update中的ArgumentError

来自分类Dev

耙子流产了!ArgumentError:参数数目错误(0..1为2)

来自分类Dev

错误:消息中的ArgumentError#个错误的新参数数目(2为1)

来自分类Dev

路由设置的参数数量错误(2为0)

Related 相关文章

  1. 1

    Jekyll:参数数量错误(给定2个,预期为1个)(ArgumentError)

  2. 2

    Docker运行产生错误``初始化'':错误的参数数量(给定2个,预期为1个)(ArgumentError)

  3. 3

    运行 Rspec 和 Sinatra 时,我不断收到 ArgumentError:参数数量错误(给定 2,预期为 0)

  4. 4

    最小测试错误-ArgumentError:参数数量错误(给定1,预期为0)

  5. 5

    发生 WebSocket 错误:参数数量错误(给定 2,预期为 1)

  6. 6

    Active Record Destroy ArgumentError(错误的参数数量(给定1,预期为0)):

  7. 7

    fastlane 脚本中的参数数量错误(给定 0,预期为 1)(ArgumentError)

  8. 8

    Rails:参数数量错误(给定2个,预期为1个)MongoID

  9. 9

    生成的RSpec控制器测试失败,参数数量错误(给定2个,预期为1个)

  10. 10

    控制器规范中的参数数量错误(给定 2,预期为 0)

  11. 11

    ArgumentError异常:当我尝试上传图像时,参数数目错误(给定2个,预期为1个)(Rails 4; paperclip 5; paperclip-meta)

  12. 12

    #<ArgumentError:错误的参数数量(1为2)>在admin.rb:32:in'kick'中

  13. 13

    为什么此create语句给出错误“ ArgumentError:错误的参数数量(1表示2)”?

  14. 14

    RSpec-如何修复-ArgumentError:错误的参数数量(给定0,应为1)-Ruby

  15. 15

    错误的参数数量(2为1)RoR错误

  16. 16

    错误的参数数量(1表示2)

  17. 17

    ActiveRecord.find错误的参数数量2为1

  18. 18

    内部服务器错误,以1ms为单位(ActiveRecord:0.0ms)ArgumentError(错误的参数数量(2为1)):

  19. 19

    最喜欢的操作出现错误:参数数量错误(给定1,预期为0)?

  20. 20

    Ruby on Rails:参数数量错误(给定 0,预期为 1)

  21. 21

    Ruby:错误:当我给出正确数量的参数时,参数数量错误(给定 1,预期为 0)

  22. 22

    使用Rspec测试使用错误数量的参数(给定2个,预期为1个)的get:index测试失败

  23. 23

    Geocoder:ArgumentError:参数数量错误(0..1为3)

  24. 24

    Rails:参数数目错误(给定1,预期为0)

  25. 25

    更新方法的参数数量错误(1表示2)

  26. 26

    Rails错误的参数数量(1代表0),SubscribeController#update中的ArgumentError

  27. 27

    耙子流产了!ArgumentError:参数数目错误(0..1为2)

  28. 28

    错误:消息中的ArgumentError#个错误的新参数数目(2为1)

  29. 29

    路由设置的参数数量错误(2为0)

热门标签

归档