在我的项目中,我实施了activeadmin gem,它与设计邀请集成。因此,在我的应用程序管理员可以通过电子邮件邀请客户。在邀请时,我收到以下错误:
*ActiveRecord::StatementInvalid in Admin::CustomersController#send_invitation
Mysql2::Error: Unknown column 'invitations_count' in 'field list': UPDATE `admin_users` SET `invitations_count` = COALESCE(`invitations_count`, 0) + 1 WHERE `admin_users`.`id` = 1*
答案 0 :(得分:1)
将gem devise_invitable 更新为版本 1.3.3
后,发生此问题要修复它,只需创建一个迁移
rails g migration AddInvitationsCountToAdminUsers invitations_count:integer
这应该将invitations_count字段添加到表admin_users
对于那些遇到同样问题但在另一张桌子上的人。以下是一般表用户
的迁移rails g migration AddInvitationsCountToUsers invitations_count:integer
这个问题可能会被rspec抓住
it 'user can be invited with passing current_user' do
current_user_attr = {email: 'user1@example.com', password: 'xxxxxx', password_confirmation: 'xxxxxx', ... add your fields }
user_attr = {email: 'user2@example.com', password: 'xxxxxx', password_confirmation: 'xxxxxx', ... add your fields }
current_user = User.create!(current_user_attr)
user = User.create!(user_attr)
user.invite!(current_user).class.should eq(Mail::Message)
end