我有兩種模式 - 用戶和角色。它們有關聯如下:無法刪除「has_and_belongs_to_many」連接記錄
在user.rb
...
has_and_belongs_to_many :roles
...
在role.rb
...
has_and_belongs_to_many :users
...
因此,用戶可以有多個角色,一個角色可以關聯與許多用戶。
爲了角色設置默認值(因爲每個用戶必須有至少一個角色創建)我在seed.rb文件添加以下代碼並運行分貝:種子命令:
創建roles = [
Admin: 'test',
Student: 'test'
]
roles.each do |role, description|
SecurityUsersRole.find_or_create_by_role_and_description(role,description)
end
的角色,但我不能摧毀他們 - 這是返回的錯誤信息:
的ActiveRecord :: StatementInvalid在/ security_users_roles/2
ActiveRecord::JDBCError: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704,
SQLERRMC=DB2INST1.SECURITY_USERS_SECURITY_USERS_ROLES, DRIVER=3.65.77:
SELECT security_users.*
FROM security_users
INNER JOIN security_users_security_users_roles
ON security_users.id = security_users_security_users_roles.security_user_id
WHERE security_users_security_users_roles.security_users_role_id = 2
上面的語句應該不返回任何記錄,因爲我還沒有創建任何用戶着呢,與角色相關聯了。
任何人都可以告訴我做錯了什麼嗎?