1
我正在將Ruby從版本2.3更新到2.4並使用Rails 5,使用MySQL數據庫創建新應用程序。has_and_belongs_to_many關係不適用於Rails 5上的新應用程序創建
rails new myapp1 -d mysql
然後,我創建2個車型,如用戶和角色
rails g model Users username:string
rails g model Roles rolename:string
之後,我創建一個遷移連接模型
rails g migration CreateRolesUsers users:references roles:references
然後我定義的模型之間的關係如下
class User < ApplicationRecord
has_and_belongs_to_many :roles
end
class Role < ApplicationRecord
has_and_belongs_to_many :users
end
最後,我打開軌道控制檯,並運行以下命令
@user = User.new(:username => "Nifras")
@role = Role.new(:rolename => "admin")
@role.save
@user.roles << @roles
上面最後一行產生以下錯誤:
ActiveModel::UnknownAttributeError: unknown attribute 'user_id' for User::HABTM_Roles.
但是我的關係表有USER_ID它的自我。我錯在哪裏以及如何解決這個問題?
在此先感謝