Ruby on rails Rails拥有并且属于许多不使用include的用户?
我正在尝试从用户删除相同的语言Ruby on rails Rails拥有并且属于许多不使用include的用户?,ruby-on-rails,activerecord,include,Ruby On Rails,Activerecord,Include,我正在尝试从用户删除相同的语言 class User < ActiveRecord::Base has_and_belongs_to_many :languages end class Language < ActiveRecord::Base has_and_belongs_to_many :users, uniq: true end 但是当我试着去做的时候 lang = Language.where(id: params[:user][:lang_1])
class User < ActiveRecord::Base
has_and_belongs_to_many :languages
end
class Language < ActiveRecord::Base
has_and_belongs_to_many :users, uniq: true
end
但是当我试着去做的时候
lang = Language.where(id: params[:user][:lang_1])
@user.languages << lang
logger.debug(@user.languages.include? Language.where(id: params[:user][:lang_1]))
包括?始终返回false,即使@user.languages确实包含Language.whereid:params[:user][:lang_1]。如何修复包括?方法?您需要保存@user以获取为用户存储的新语言
lang = Language.where(id: params[:user][:lang_1])
@user.languages << lang
@user.save!
logger.debug(@user.languages.include?(lang))
我没想到答案会这么快谢谢你的帮助。