种子数组上的未定义方法错误
undefined method error on seeding array
我正在实施一个名为 Rolify 的 gem。我已经成功地创建了一个控制器和模型方法来为用户分配主持人角色。但是,我在播种和测试时遇到了问题。为了测试,我发布了 .
播种的想法是首先在角色 table 中创建角色。然后随机选取 30 个组织,每个组织随机分配 2 个用户,并为这 2 个用户分配该组织的主持人角色。在我的种子文件末尾,我添加了:
moderator = Role.create!(:moderator => "moderator")
organizations = Organization.take(30)
organizations.each do |org|
2.times do |n|
user = User.where(usertype: 1).take(1)
user.add_role :moderator, org
end
end
我在角色 table 中创建角色播种时遇到错误 table:
ActiveRecord::UnknownAttributeError: unknown attribute 'moderator' for Role.
我在第二部分播种时遇到的错误:
NoMethodError: undefined method 'add_role' for #<Array:0x0000000581f268>
Add_role
是 rolify 的一种方法,也用在我的控制器方法中,它 确实 起作用。
知道是什么导致了这个播种问题吗?
确保您的数据库 roles
table.
中的列之一是 moderator
对于第二个错误,行:
user = User.where(usertype: 1).take(1)
正在创建用户数组对象,而不是用户。尝试将其更改为:
user = User.where(usertype: 1).first
我正在实施一个名为 Rolify 的 gem。我已经成功地创建了一个控制器和模型方法来为用户分配主持人角色。但是,我在播种和测试时遇到了问题。为了测试,我发布了
播种的想法是首先在角色 table 中创建角色。然后随机选取 30 个组织,每个组织随机分配 2 个用户,并为这 2 个用户分配该组织的主持人角色。在我的种子文件末尾,我添加了:
moderator = Role.create!(:moderator => "moderator")
organizations = Organization.take(30)
organizations.each do |org|
2.times do |n|
user = User.where(usertype: 1).take(1)
user.add_role :moderator, org
end
end
我在角色 table 中创建角色播种时遇到错误 table:
ActiveRecord::UnknownAttributeError: unknown attribute 'moderator' for Role.
我在第二部分播种时遇到的错误:
NoMethodError: undefined method 'add_role' for #<Array:0x0000000581f268>
Add_role
是 rolify 的一种方法,也用在我的控制器方法中,它 确实 起作用。
知道是什么导致了这个播种问题吗?
确保您的数据库 roles
table.
moderator
对于第二个错误,行:
user = User.where(usertype: 1).take(1)
正在创建用户数组对象,而不是用户。尝试将其更改为:
user = User.where(usertype: 1).first